问题描述
我正在创建一个音频播放器并使用 UISlider
实时更新音频的播放时间。我决定使用周期性时间观察者来做到这一点:
player.addPeriodicTimeObserver(forInterval: CMTime(seconds: 1,preferredTimescale: CMTimeScale(NSEC_PER_SEC)),queue: .main) { time in
slider.setValue(Float(time.seconds),animated: false)
}
这是一个好的开始,但是我遇到了一个问题,当我尝试使用滑块更改/寻找时间时会触发(可以理解),因此我将其更改为:
player.addPeriodicTimeObserver(forInterval: CMTime(seconds: 1,queue: .main) { time in
if !slider.isHighlighted {
slider.setValue(Float(time.seconds),animated: false)
}
}
这很棒,但我面临的最后一个问题是,当我松开滑块时,它似乎很快将滑块值设置回设置新值之前的值,然后快速修复自身。见下图:
再次澄清一下,它是这样的我一松开,而不是在我试图滑动时
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)