我正在尝试设置进度条和标签,以指示正在播放的mp3文件的百分比。我是否需要设置NSTimer功能,还是可以使用AVFoundation进行设置?
答案 0 :(得分:1)
使用AVFoundation提供的以下信息完成您的需要。使用mp3文件的持续时间,你可以通过用你的mp3文件创建AVAsset
来获得。并使用AVAudioPlayer.currentTime
获取当前播放音频文件的当前播放位置。定期检查currentTime
的值并相应地更新进度条。您可以使用while-loop
不断检查currentTime
,这会使进度条看起来平滑增加。您也可以使用NSTimer,但根据您的时间间隔,进度条可能看起来不会平滑增加,但可能会突然出现。
或者,您可以使用AVPlayer
或AVQueuePlayer
代替AVAudioPlayer
。有了这些,您将创建一个AVPlayerItem
,您可以通过AVPlayer.currentItem.duration
从中获得当前歌曲的持续时间。