AVAudioPlayer - 降低帧速率

时间:2009-06-17 20:33:12

标签: iphone opengl-es performance avaudioplayer frame-rate

我有一个简单的问题:我正在将一个mp3文件加载到NSData对象中,然后我在游戏中使用AVAudioPlayer播放它。每隔一秒左右,帧速率就会下降,你可以在屏幕上看到一个口吃。这不是一个重大的放缓,但显然是明显和扰乱游戏。不使用AVAudioPlayer播放音乐曲目表明根本没有减速。

如何防止这种情况发生?

谢谢。

弗洛里安

2 个答案:

答案 0 :(得分:7)

供将来参考,以下是解决方案:

将音频会话类别设置为kAudioSessionCategory_AmbientSound(以允许iPod音乐同时播放)以某种方式禁用MP3硬件加速。将音频类别设置为kAudioSessionCategory_SoloAmbientSound修复此问题,但不允许iPod播放。我现在根据是启用还是禁用背景音乐来设置音频会话类别,以便同时播放iPod。

答案 1 :(得分:0)

mp3是一种编码/压缩音频格式。您可以尝试降低采样率(对于istance,而不是128 kb / s尝试64 kb / s)或切换到非编码格式,如线性pcm。缺点是:前者的音频质量较低,后者的文件较大。但这有助于提高应用的整体表现。