iPhone mp3播放问题

时间:2009-05-27 08:18:14

标签: iphone

我正在为iphone编写游戏,没有背景音乐,它以30 fps的速度运行。但是如果我添加音乐(使用AudioQueues或AVAudioPlayer,两者都有相似的效果),帧速率会定期下降到10(大约每秒一次),然后返回30.音乐是mp3 @ 128kps,44kHz。它不是经常降低性能,而是在某些时刻,这会导致非常不稳定的游戏玩法。有人遇到过这样的问题吗?有没有办法让cpu加载mp3解码/播放更均匀?我宁愿在大多数情况下持续29 fps而不是30 fps,每秒10次。

5 个答案:

答案 0 :(得分:1)

也许你可以提高渲染线程的优先级?或者将它带入另一个Run Loop(如果你正在做动画的话)。

答案 1 :(得分:1)

几点想法:

1)尝试将文件转换为其他格式并查看是否仍有此问题可能有效。我使用CAF文件取得了很大的成功,只需对它们进行转换即可。

afconvert -f caff -d ima4 <your mp3 file>

2)此外,减速和跟踪变化之间是否有任何联系?在更换曲目(或重新启动曲目)时,我经常看到类似的事情。我认为这与从'disk'读取文件所需的负载有关。

答案 2 :(得分:1)

这很可能是因使用AmbientSound音频会话类别引起的,请参阅this question。您可以通过切换到SoloAmbientSound类别轻松解决问题。

答案 3 :(得分:0)

您需要分析您的应用。

无论比特率如何,我都得到60fps。

答案 4 :(得分:0)

如果您向我们展示您的代码,那将是最好的。您是否已检入音频缓冲区选项,它可能不是您需要的最佳选择。您对音频单元感到满意吗?