添加进度条到mp3 AVAudioPlayer播放swift

时间:2016-02-09 11:12:56

标签: swift2 progress-bar ios9 nstimer avaudioplayer

我正在尝试设置进度条和标签,以指示正在播放的mp3文件的百分比。我是否需要设置NSTimer功能,还是可以使用AVFoundation进行设置?

1 个答案:

答案 0 :(得分:1)

使用AVFoundation提供的以下信息完成您的需要。使用mp3文件的持续时间,你可以通过用你的mp3文件创建AVAsset来获得。并使用AVAudioPlayer.currentTime获取当前播放音频文件的当前播放位置。定期检查currentTime的值并相应地更新进度条。您可以使用while-loop不断检查currentTime,这会使进度条看起来平滑增加。您也可以使用NSTimer,但根据您的时间间隔,进度条可能看起来不会平滑增加,但可能会突然出现。

或者,您可以使用AVPlayerAVQueuePlayer代替AVAudioPlayer。有了这些,您将创建一个AVPlayerItem,您可以通过AVPlayer.currentItem.duration从中获得当前歌曲的持续时间。