向 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,但根据您的时间间隔,进度条可能不会平滑增加,但可能会显得突然。
您也可以使用AVPlayer
或AVQueuePlayer
代替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的主要内容,如果未能解决你的问题,请参考以下文章