iOS应用中媒体功能的实现指南
1. 音频播放器时间滑块的实现
音频播放器应用的用户界面中已有一个滑块,它在视图控制器中关联了三个操作:
- sliderDragStart()
- sliderDragEnd()
- sliderChanged()
当音频文件播放时,滑块应自动更新以反映歌曲的当前播放位置。但当用户开始拖动滑块时,在用户选择新位置前,滑块不应更新。用户拖动结束后,滑块应根据歌曲进度再次调整。滑块值改变时,音频播放器应调整播放头,使歌曲进度与滑块匹配。
由于 AVAudioPlayer 对象未提供观察当前音频文件进度的委托方法,可实现一个定时器每秒更新滑块到音频播放器的当前位置。在 AudioViewController 中添加以下属性来保存定时器:
var timer: Timer?
再添加两个方法来方便启动和停止定时器:
func startTimer() {
timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) {
[unowned self] timer in
self.slider.value = Float(self.audioPlayer.currentTime / self.audio
超级会员免费看
订阅专栏 解锁全文
1008

被折叠的 条评论
为什么被折叠?



