1

我最近一直在将声音添加到我正在使用的游戏中AVAudioPlayer。我注意到播放声音通常会降低游戏的帧率。我试图通过使用方法来降低性能成本[sound prepareToPlay],但这似乎没有什么区别。有谁知道一种无需显着性能成本即可播放声音的方法吗?任何帮助将不胜感激。

4

1 回答 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 回答