AVAudioPlayer导致游戏延迟

时间:2014-10-13 17:46:52

标签: objective-c xcode avaudioplayer lag

我有一个简单的游戏,你在火箭中,你可以避免从屏幕上下来的行星。当我播放一个短的亚秒长音时,我的游戏在它播放时抖动和滞后然后恢复正常。有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

AVAudioPlayer虽然声音在不同的线程上播放,但会导致在其当前线程上初始化自身的长时间延迟。

我的解决方案是仅将AVAudioPlayer用于音乐,因为高级API使它对此有用,但即使这样做也是如此:

dispatch_async
当我想围绕播放音乐进行任何操作时,

到一个特殊的音乐队列。

对于声音效果,这种技术会起作用(不会引起抖动),但声音会延迟,可能还不够好。

我通过直接使用OpenAL来解决这个问题。没有抖动,没有滞后。