我最近在使用AVAudioPlayer
开发的游戏中添加了声音。我注意到播放声音通常会在帧速率方面降低游戏速度。我试图通过使用方法[sound prepareToPlay]
来降低性能成本,但这似乎没有任何区别。有没有人知道如何在没有显着性能成本的情况下播放声音?任何帮助将不胜感激。
答案 0 :(得分:3)
AVAudioPlayer在性能方面非常昂贵且存在延迟问题。它在泄漏方面也不太可靠,因为你必须在AVAudioPlayerDelegate委托的audioPlayerDidFinish回调中释放它。
AVAudioPlayer最适合播放较长的循环播放音乐作为背景。为了播放短音效,使用AudioToolbox.h中的AudioServicesPlaySystemSound方法在性能上更便宜。为此,您需要声明SystemSoundID ..
您可以参考此链接.. http://blogs.x2line.com/al/archive/2011/05/19/3831.aspx