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