gpt4 book ai didi

ios - OSStatus 错误 1685348671 AVAudioPlayer

转载 作者:行者123 更新时间:2023-11-28 09:29:39 32 4
gpt4 key购买 nike

我正在尝试使用 Alamofire 下载 mp3 文件并将其保存到所需位置。然后,我试图从那个位置播放那个文件,但它给了我一个错误。

这是下载功能

func downloadSong(song: Song, completion: @escaping(Bool) -> ()) {

var headers: HTTPHeaders = [:]

if let authorizationHeader = Request.authorizationHeader(user: Constants.authName, password: Constants.authKey) {
headers[authorizationHeader.key] = authorizationHeader.value
}

let destination: DownloadRequest.DownloadFileDestination = { _, _ in
let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileURL = documentsURL.appendingPathComponent("\(song.getID()).mp3")

return (fileURL, [.removePreviousFile, .createIntermediateDirectories])
}

Alamofire.download(APIEndpoint.Song(id: song.getID(), token: self.authToken!).path(), method: .get, headers: headers, to: destination).response { (response) in
if response.error == nil, let filePath = response.destinationURL?.path {
print(filePath)
completion(true)
} else {
completion(false)
}
}

}

这是一个播放功能

func playSong() {

guard let songs = currentPlaylist?.getSongs() else { return }

let song = songs[0]

let documentsDirectoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!

let destinationUrl = documentsDirectoryURL.appendingPathComponent("\(song.getID()).mp3")
print(destinationUrl)

if FileManager.default.fileExists(atPath: destinationUrl.path) {
print("The file already exists at path")

do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)

player! = try AVAudioPlayer(contentsOf: destinationUrl, fileTypeHint: AVFileTypeMPEGLayer3)

player!.play()
} catch let error as NSError {
print("error: \(error.localizedDescription)")
}
}

}

我想知道下载文件并保存然后播放的最佳做法。

最佳答案

我发现,我输入了错误的 API url,所以它给了我无法播放的无效文件。

编辑:

来自后端的文件不是有效的 MP3 音频文件,这就是发生错误的原因。

关于ios - OSStatus 错误 1685348671 AVAudioPlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40389522/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com