什么是iPhone上音效的最佳格式

LBu*_*kin 13 iphone audio ipod-touch

在iPhone或iToouch上存储和播放短(2-3秒)音频音效的推荐音频格式是什么?

iPhone音频SDK文档表明iPhone支持多种格式的音频 - 但每种格式都有缺点:

  • MP3:这是一种高度压缩,但也是高质量的编码格式,可以保留丰富的音乐和语音.但是,在iPhone上一次只能播放一个mp3流,因为它需要使用硬件解码器.这不包括mp3作为声音效果的格式,因为它们会中断背景音乐和/或正在播放的任何用户音乐.
  • WAV: iPhone只支持WAV文件,如果它们是PCM编码的,并且不需要任何压缩编解码器.虽然WAV支持许多不同的采样率和位深度,但它会产生非常大的文件(对于16位/ 44.1kHz /立体声音频,为180k/sec).当你有很多快速发挥的效果时,大尺寸会变得过高.
  • AIFF:与WAV文件有类似的问题 - 目前还不清楚是否支持任何压缩编解码器.据说支持Apple Lossless压缩 - 但我找不到任何可以在使用此压缩时生成AIFF的工具.
  • 自定义:您可以使用iPhone低级API从任何来源播放自己的音频.但是在游戏中播放简单的声音效果似乎有些过分.我当然不想为此编写自己的音频层和编码器/解码器.

任何建议都将受到赞赏...如果有人可以推荐一个价格合理的工具来处理可以生成推荐格式的音频,也会有所帮助.谢谢.

pgb*_*pgb 10

您可以使用IMA4压缩文件,这些文件从WAV文件提供1:4压缩,并由硬件解压缩(您可以使用它们加载它们AVAudioPlayer).

至于MP3,你只能以这种格式同时播放一个文件,这就是为什么不建议你同时拥有多个音效的音效.

我正在使用OpenAL的IMA4文件,所以我用基于这篇文章的代码手动解压缩它们.

  • 至少当我发布这个答案时,情况并非如此.`AVAudioPlayer`只允许一次播放一个MP3文件,而二次播放则会显示出明显的延迟,并且会下降.我猜这仍然是这种情况,而且对于游戏来说,你需要精确控制声音何时开始. (2认同)