Ios 使用AVplayer-Swift获取音频持续时间
我正在尝试在我的应用程序上显示我的音频文件持续时间,但我的代码始终返回0。我希望有一种方法可以在AVplayer从文件中获取数据时通知我,然后我可以调用我的代码来获取数据。有什么建议吗Ios 使用AVplayer-Swift获取音频持续时间,ios,swift,avplayer,Ios,Swift,Avplayer,我正在尝试在我的应用程序上显示我的音频文件持续时间,但我的代码始终返回0。我希望有一种方法可以在AVplayer从文件中获取数据时通知我,然后我可以调用我的代码来获取数据。有什么建议吗 func loadAudioUrl() { guard let url = URL(string: sampleShortAudioUrl) else {return} audioPlayer = AVPlayer(url: url) audioPlayer?.play()
func loadAudioUrl() {
guard let url = URL(string: sampleShortAudioUrl) else {return}
audioPlayer = AVPlayer(url: url)
audioPlayer?.play()
if let duration = audioPlayer?.currentItem?.duration{
print(duration)
}
}
您无法从远程音频url获取持续时间,您必须将其远程存储在数据库中,并在侦听或下载时绘制它的持续时间 您可以获取持续时间,但您需要等待,因为内容正在加载。您的代码假定它是立即加载的 您需要将AVPlayerItem与AVPlayer一起使用。 当AVPlayerItem状态准备好播放时,您可以询问持续时间。完整的代码示例来自苹果公司,如下所示: