我的应用程序向AVPlayer提供语音,并在播放过程中使用Timer进行了一点操作,以便用户可以继续阅读。
它在模拟器和真实设备上都能很好地工作。
但是,当您配对空气壶时,计时器会延迟约0.2秒启动。
为什么会发生这种情况,我该如何解决?
我使用了“ Timer.scheduler”和“ Dispatchqueue.Main.asyncAfter”,但是两者的症状相同。
我的应用程序向AVPlayer提供语音,并在播放过程中使用Timer进行了一点操作,以便用户可以继续阅读。
它在模拟器和真实设备上都能很好地工作。
但是,当您配对空气壶时,计时器会延迟约0.2秒启动。
为什么会发生这种情况,我该如何解决?
我使用了“ Timer.scheduler”和“ Dispatchqueue.Main.asyncAfter”,但是两者的症状相同。
我收集到您正在开始播放并同时启动计时器,但是当您使用蓝牙耳机执行此操作时,它们似乎并不同步。如果是这种情况,我建议您不要使用您自己的计时器,而是让AVPlayer
告诉您它在哪里。
例如,您可以使用addPeriodicTimeObserver(forInterval:queue:using:)
。 AVPlayer
会告诉您何时到达播放中的特定点。