我有一个简单的游戏,你在火箭中,你可以避免从屏幕上下来的行星。当我播放一个短的亚秒长音时,我的游戏在它播放时抖动和滞后然后恢复正常。有人知道为什么会这样吗?
答案 0 :(得分:0)
AVAudioPlayer虽然声音在不同的线程上播放,但会导致在其当前线程上初始化自身的长时间延迟。
我的解决方案是仅将AVAudioPlayer用于音乐,因为高级API使它对此有用,但即使这样做也是如此:
dispatch_async
当我想围绕播放音乐进行任何操作时,到一个特殊的音乐队列。
对于声音效果,这种技术会起作用(不会引起抖动),但声音会延迟,可能还不够好。
我通过直接使用OpenAL来解决这个问题。没有抖动,没有滞后。