我有一些循环播放的音乐。 .wav文件大小约为8兆。我加载它只是循环它...一切正常,直到我添加另一个4 meg .wav文件。现在游戏崩溃了...删除了额外的音频文件修复了崩溃。
那么如何减小这些.wav文件的大小呢?我想在完成4 meg文件之后释放内存,但我尝试的不起作用(我宁愿游戏本身是一个较小的文件大小,因此下载更容易)。
谢谢!
答案 0 :(得分:7)
如果您一次只播放一个声音文件,请使用mp3或aac。这样你就可以获得硬件解码,从而提高性能和电池寿命。
不幸的是,iPhone一次只能播放一个硬件解码的声音文件。因此,如果您希望一次播放多个,您需要自己解码第二个文件;建议使用IMA 4:1,但是你必须找到或实现自己的解码器,Apple不会给你一个。
这完全基于this blog post,更详细。
答案 1 :(得分:7)
实际上.WAV是一个容器。内容可以压缩或解压缩,这完全取决于.WAV文件中第一个“fmt”标记中包含的WAVEFORMATEX结构。
例如,在Windows 7中,所有内置声音都是包含MP3数据的.WAV文件。
您可以将.WAV文件创作为MP3文件,并且(假设iPhone正确处理.WAV容器)它们应该可以正常工作。
答案 2 :(得分:3)
未压缩格式的Wav将不可避免地占用大量空间。 8 Megs对于未压缩的wav来说并不是很大。
您应该考虑使用其他压缩格式,例如mp3或aac。您可能需要在解码库中进行链接。
在iphone应用中查看包含mp3文件的link:
答案 3 :(得分:2)
如果您的WAV文件是立体声,您可以尝试将它们设为单声道。这基本上是文件大小的一半。显然,缺点是你的声音现在是单音。
答案 4 :(得分:1)
我不会使用WAV。看看ffmpegx。它是免费的,可以在Mac上运行,并将您的wave文件转换为MP3或其他格式的主机。