【发布时间】:2019-01-15 22:52:39
【问题描述】:
我想从 url 播放音频文件。我想在 swift4 和 xcode 9 中使用 avaudioplayer 播放这个。所以,首先我在会话中下载这个并播放那个音频。但有时 avaudioplayer 无法播放音频并显示错误。
代码:
func downloadFileFromURL(url: URL){
var downloadTask:URLSessionDownloadTask
downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: { [weak self](URL, response, error) -> Void in
print("audio download response: \(String(describing: response))")
SVProgressHUD.dismiss()
if response != nil {
if error != nil {
print("audio file download error: \(String(describing: error))")
return
}
DispatchQueue.main.async {
self?.play(url: URL!)
}
} else {
SVProgressHUD.dismiss()
Config.shared.show_simple_alert(title: "Fail", message: "Sorry, Fail to play this music. Plase try another or later", context: self!)
}
})
downloadTask.resume()
}
func play(url: URL) {
print("playing \(url)")
do {
player = try AVAudioPlayer(contentsOf: url)
player.prepareToPlay()
player.volume = 1.0
player.play()
} catch let error as NSError {
print("playing error: \(error.localizedDescription)")
} catch {
print("AVAudioPlayer init failed")
}
}
错误 - 播放错误:操作无法完成。 (OSStatus 错误 2003334207。)
【问题讨论】:
-
你找到解决办法了吗?
-
对不起,还没有兄弟:(
标签: ios xcode swift3 swift4 xcode9