如何通过AVAudioPlayer当前时间更新播放器滑块处理当前值

时间:2018-08-22 12:40:23

标签: ios swift

现在我正在使用npm run android 库作为Cocoapod。它的MSCircularSliderslider.value,当我尝试做简单的slider.currentValue(尝试将UISlider等于slider.value)时,它运行良好,但是当我尝试在player.currentTime中执行此操作,句柄没有移到CircularSlider

如何解决?

请帮帮我!

AVAudioPlayer.currentTime

1 个答案:

答案 0 :(得分:0)

您的updateTime(_:)代码使您的计时器无效。 (两次!)我希望它在0.01秒后会触发一次,然后再不会触发,结果您可能看不到滑块值的可见变化。

摆脱对timer.invalidate()的呼叫,除非声音播放完毕。

我之前没有使用过该特定框架,所以我不确定它是否可以在您使用时正常工作,但是快速浏览一下README文件就可以证明您是使用该框架。

另一方面,Timer对象有点粗糙,最多具有约0.02秒的分辨率,因此间隔为0.01秒的计时器不太可能频繁触发。另外,iOS设备屏幕上的刷新速率为1/60秒,因此尝试更新屏幕没有任何意义。

如果您确实需要在每次屏幕更新时进行更新的平滑绘图,则应该使用CADisplayLink计时器,但是对于这样简单的计时器,1/30秒左右的计时器间隔应该可以