我最近一直在将声音添加到我正在使用的游戏中AVAudioPlayer
。我注意到播放声音通常会降低游戏的帧率。我试图通过使用方法来降低性能成本[sound prepareToPlay]
,但这似乎没有什么区别。有谁知道一种无需显着性能成本即可播放声音的方法吗?任何帮助将不胜感激。
问问题
589 次
1 回答
3
AVAudioPlayer 在性能方面非常昂贵并且存在滞后问题。它在泄漏方面也不是很可靠,因为您必须在 AVAudioPlayerDelegate 委托的 audioPlayerDidFinish 回调中释放它。
AVAudioPlayer 最适合播放较长的可循环音乐曲调作为背景。为了播放短音效,使用 AudioToolbox.h 中的 AudioServicesPlaySystemSound 方法在性能方面更便宜。为此,您需要声明 SystemSoundID..
你可以参考这个链接.. http://blogs.x2line.com/al/archive/2011/05/19/3831.aspx
于 2012-09-26T06:41:06.337 回答