在iPhone或iTouch上存储和播放短暂(2-3秒)音效的推荐音频格式是什么?
iPhone音频SDK文档显示,iPhone支持多种音频格式,但每种格式都有其缺点:
- MP3:这是一种高度压缩但质量也很高的编码格式,可保留音乐和说话声的丰富性。然而,在iPhone上只能同时播放单个mp3流,因为它需要使用硬件解码器。这排除了mp3作为声音效果的格式,因为它们会打断背景音乐和/或任何用户正在播放的音乐。
- WAV:如果WAV文件是PCM编码并且不需要任何压缩编解码器,则iPhone仅支持WAV文件。虽然WAV支持许多不同的采样率和位深度,但它会产生非常大的文件(16位/ 44.1kHz / 立体声音频每秒180k)。当您需要快速播放许多效果时,文件大小变得不可行。
- AIFF:与WAV文件存在类似的问题-不清楚是否支持任何压缩编解码器。据说支持Apple Lossless压缩-但我找不到任何可以使用此压缩生成AIFF的工具。
- 自定义:您可以使用iPhone低级别API从任何源播放自己的音频。但这似乎对于在游戏中播放简单的声音效果来说过于复杂。我肯定不想为此编写自己的音频层和编码器/解码器。
如果有人能推荐一个价格合理的音频处理工具,可以生成推荐的格式,将不胜感激...
AVAudioPlayer
仅允许同时播放单个 MP3 文件,而辅助播放会出现显着的延迟和掉帧。我猜想这种情况仍然存在,特别是对于需要精确控制声音开始时间的游戏来说。 - pgb