我尝试播放7分钟,17分钟,20分钟的.wav
效果很好,但是尝试播放1.04小时的音频却无法正常工作。
而且我确定我正在使用的.wav文件没有损坏,因为它已被android应用程序使用,并且它们能够获取持续时间。
播放1.04小时的音频时,会在以下代码中产生.failed
,
if let url = URL(string: urlString) {
audioAsset = AVURLAsset.init(url: url)
if let audioAsset = audioAsset {
let keys = ["playable"]
audioAsset.loadValuesAsynchronously(forKeys: keys, completionHandler: {
let playableStatus = audioAsset.statusOfValue(forKey: keys[0], error: nil)
switch playableStatus {
case .unknown, .loading, .failed, .cancelled:
return
case .loaded:
DispatchQueue.main.async {
let playerItem = AVPlayerItem.init(asset: audioAsset)
self.audioPlayer.insert(playerItem, after: nil)
self.audioPlayer.play()
})
}
break
}
})
}
}
我尝试在没有AVURLAsset
的情况下播放音频1小时,如下代码未播放音频。
let playerItem = AVPlayerItem.init(url: url)
self.audioPlayer.insert(playerItem, after: nil)
self.audioPlayer.play()
如果我能解决我的问题,那将非常有帮助。或发生这种情况的可能原因?