如何为iPhone应用程序减小.wav音频文件的大小?

3
我有一些循环播放的音乐。.wav文件大小约为8兆。我加载了它并循环播放...一切正常,直到我添加了另一个4兆的.wav文件。现在游戏崩溃了...删除额外的音频文件可以解决崩溃问题。
那么如何减小这些.wav文件的大小呢?我考虑过在完成4兆文件后释放内存,但我的尝试没有成功(而且我更希望游戏本身的文件大小更小,这样下载起来更容易)。
谢谢!
5个回答

7
如果您一次只播放一个声音文件,只需使用mp3或aac格式。这样,您还可以获得硬件解码,以提高性能和电池寿命。
不幸的是,iPhone一次只能播放一个经过硬件解码的声音文件。因此,如果您想同时播放多个文件,则需要自己解码第二个文件;建议使用IMA 4:1,但您必须找到或实现自己的解码器,苹果不提供解码器。
所有这些都基于this blog post,其中有更详细的说明。

7

实际上,.WAV是一个容器。其内容可以是压缩或未压缩的,这取决于.WAV文件中第一个"fmt"标签中包含的WAVEFORMATEX结构。

例如,在Windows 7中,所有内置声音都是包含MP3数据的.WAV文件。

您可以将您的.WAV文件制作为MP3文件,然后(假设iPhone正确处理.WAV容器),它们应该可以使用。


WAV容器格式有一个“fmt”标签,其中包含WaveFormatEx描述内容格式的信息。其中支持的一种格式是MP3,所以你只需在“data”标签部分中流式传输你的MP3数据即可。 - Larry Osterman

3

未压缩格式的Wav文件将占用大量空间。8兆对于未压缩的Wav来说并不算大。

您应该考虑使用其他压缩格式,如mp3或aac。但您可能需要链接解码库。

请查看此链接,了解如何在iPhone应用中包含mp3文件:


2

如果你的WAV文件是立体声,你可以尝试将它们转换为单声道。这将基本上减少一半的文件大小。缺点显然是你的声音现在是单声道。


1

我不会使用WAV格式。你可以看看ffmpegx,它是免费的,适用于Mac系统,可以将你的音频文件转换为MP3或其他多种格式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接