影响应用程序性能的 AVAudioPlayer 声音

Posted

技术标签:

【中文标题】影响应用程序性能的 AVAudioPlayer 声音【英文标题】:AVAudioPlayer sounds affecting performance of app 【发布时间】:2012-09-26 06:19:31 【问题描述】:

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

【问题讨论】:

【参考方案1】:

AVAudioPlayer 在性能方面非常昂贵并且存在延迟问题。它在泄漏方面也不是很可靠,因为您必须在 AVAudioPlayerDelegate 委托的 audioPlayerDidFinish 回调中释放它。

AVAudioPlayer 最适合播放较长的可循环音乐曲调作为背景。为了播放短音效,使用 AudioToolbox.h 中的 AudioservicesPlaySystemSound 方法在性能方面更便宜。为此,您需要声明 SystemSoundID..

你可以参考这个链接..http://blogs.x2line.com/al/archive/2011/05/19/3831.aspx

【讨论】:

以上是关于影响应用程序性能的 AVAudioPlayer 声音的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioPlayer 在停止或恢复时“滴答”

暂停/启动 AVAudioPlayer 无故障弹出

AVAudioPlayer 爆裂声和爆裂声

重复触发 AVAudioPlayer 时,大量 fps 下降(Sprite Kit)

AVAudioPlayer 帮助:同时播放多个声音,一次停止所有声音,并解决自动引用计数

更快的替代 AVAudioPlayer?