我正在try 使用AVAudioPlayer播放存储在Firebase中的音频文件(未成功).
我收到以下错误消息:创建音频播放器时出错:操作无法完成.(操作系统状态错误2003334207.)
以下是我的音频播放器视图模型的代码:
class AudioPlayerViewModel: ObservableObject {
private var audioPlayer: AVAudioPlayer?
func playAudioFromUrl(from storagePath: String) {
let storage = Storage.storage()
let storageRef = storage.reference()
let audioRef = storageRef.child(storagePath)
audioRef.downloadURL { url, error in
print(audioRef)
guard let audioURL = url, error == nil else {
print("Error fetching audio URL: \(error?.localizedDescription ?? "")")
return
}
print("Audio URL: \(audioURL)")
print("Audio URL String: \(audioURL.absoluteString)")
do {
self.audioPlayer = try AVAudioPlayer(contentsOf: audioURL)
self.audioPlayer?.prepareToPlay()
self.audioPlayer?.play()
} catch {
print("Error creating audio player: \(error.localizedDescription)")
if let nsError = error as NSError? {
print("Error code: \(nsError.code)")
}
}
}
}
func stopAudio() {
audioPlayer?.stop()
}
}
和我的视图的代码:
struct PlaybackControlsView: View {
var audioPath: String
@ObservedObject private var audioPlayerVM = AudioPlayerViewModel()
var body: some View {
VStack {
// Add UI elements here, e.g., play and stop buttons
Button("Play Audio") {
audioPlayerVM.playAudioFromUrl(from: "Stories/\(audioPath).mp3")
}
.padding()
Button("Stop Audio") {
audioPlayerVM.stopAudio()
}
.padding()
}
}
}
#Preview {
PlaybackControlsView(audioPath: "example")
}
不知道我在哪里做错了.任何帮助都将不胜感激.