Ios 音频持续时间在AVQueuePlayer中返回nan
当我尝试使用AVQueuePlayer从服务器播放Ios 音频持续时间在AVQueuePlayer中返回nan,ios,swift,wav,avqueueplayer,Ios,Swift,Wav,Avqueueplayer,当我尝试使用AVQueuePlayer从服务器播放.wav文件时,它将持续时间返回为nan 我使用这个代码来获取持续时间 audioPlayer.currentItem?.duration.seconds audioPlayer.currentItem?.asset.duration.seconds 我确信我正在使用的.wav文件没有损坏,因为android应用程序正在使用它,他们能够获得持续时间 下面我使用的代码非常适合.mp3。但不适用于.wav if let url = URL(str
.wav
文件时,它将持续时间返回为nan
我使用这个代码来获取持续时间
audioPlayer.currentItem?.duration.seconds
audioPlayer.currentItem?.asset.duration.seconds
我确信我正在使用的.wav
文件没有损坏,因为android应用程序正在使用它,他们能够获得持续时间
下面我使用的代码非常适合.mp3
。但不适用于.wav
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
}
})
}
}
您是否尝试过使用
audioAsset.duration
?是的,我也尝试过。。。!同样的“楠”