我试图将我的音频文件持续时间显示在我的应用上,但我的代码总是返回0.我希望有一种方法可以在AV播放器从文件中获取数据时通知我,然后我可以调用我的之后的代码来获取数据。有什么建议吗?
func loadAudioUrl() {
guard let url = URL(string: sampleShortAudioUrl) else {return}
audioPlayer = AVPlayer(url: url)
audioPlayer?.play()
if let duration = audioPlayer?.currentItem?.duration{
print(duration)
}
}
答案 0 :(得分:0)
您无法从远程音频网址获取持续时间,您必须将其持续时间远程存储在数据库中,并在收听或下载时将其记录下来。 。
答案 1 :(得分:0)
您可以获得持续时间,但您需要等待,因为内容正在加载。您的代码假定它立即加载。
您需要将AVPlayerItem与AVPlayer一起使用。 当AVPlayerItem状态准备好播放时,您可以询问持续时间。 Apple的完整代码示例就在这里: AVPlayerItem