向 mp3 AVAudioPlayer 添加进度条播放 swift

Posted

技术标签:

【中文标题】向 mp3 AVAudioPlayer 添加进度条播放 swift【英文标题】:Adding a progressbar to mp3 AVAudioPlayer playing swift 【发布时间】:2016-02-09 11:12:56 【问题描述】:

我正在尝试设置一个进度条和一个标签来指示正在播放的 mp3 文件的百分比。我需要设置 NSTimer 函数还是可以使用 AVFoundation 来设置?

【问题讨论】:

这是AVAudioPlayer 而不是AVPlayer 你错误地标记了问题 【参考方案1】:

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

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

【讨论】:

对我来说太难了(我是 swift 新手)。不管怎么说,还是要谢谢你。代码:var currentTime = Int(AVAudioPlayer.currentTime) 给我一个错误:\Instance member 'currentTime' cannot be used on type 'AVAudioPlayer' 将该代码更改为let currentTime = Int(self.reproductor.currentTime)已经奏效。再次感谢。 没问题,如果需要更多帮助,请告诉我或使用AVAudioPlayer 标签或AVPlayer 标签发布另一个问题,我经常阅读这些内容

以上是关于向 mp3 AVAudioPlayer 添加进度条播放 swift的主要内容,如果未能解决你的问题,请参考以下文章

Mp3播放器进度条

AVAudioPlayer mp3 文件无法播放

使用 AVAudioPlayer 中途开始播放 .mp3

安卓MP3播放器开发实例之进度条和歌词更新的实现

在 iOS 6.0 中找不到 AVAudioPlayer

AVAudioPlayer 不播放 mp3?