今天南昌APP制作开发公司-百恒网络主要想跟大家介绍一下音频文件优化方面的知识,不过在讨论音频文件优化之前,小编先跟大家说一下音频文件格式。在iOS平台中,主要的音频文件格式有以下4种:
1、WAV文件
WAV是一种由微软和IBM联合开发的用于音频数字存储的文件格式。WAV文件的格式灵活, 可以存储多种类型的音频数据。由于文件较大,不太适合于移动设备这些存储容量小的设备。
2、MP3(MPEG Audio Layer 3)文件
MP3利用MPEG Audio Layer 3技术,将数据以1∶10甚至1∶12的压 缩率压缩成容量较小的文件。MP3是一种有损压缩格式,它尽可能地去掉人耳无法感觉的部分和不敏感的部分。这么高的压缩比率非常适合于移动设备这些存储容量小的设备,现在非常流行。
3、CAFF(Core Audio File Format)文件
CAFF是苹果开发的专门用于Mac OS X和iOS系统的无压缩音频格式,它被设计用来替换老的WAV格式。
4、AIFF(Audio Interchange File Format)文件
AIFF是苹果开发的专门用于Mac OS X系统的专业的音频文件格式。AIFF的压缩格式是AIFF-C(或AIFC),将数据以4∶1压缩率进行压缩,应用于Mac OS X和iOS 系统。
音频文件优化包括了文件格式和文件大小的优化,同时也要考虑到文件使用场景、采用的技术(OpenAL、 AVAudioPlayer)等因素。在iOS应用中,使用本地音频资源文件的主要应用场景是背景音乐和音乐特效,下面百恒网络就从这两个方面为大家介绍相关的优化技术。
1. 背景音乐优化
背景音乐会在应用中反复播放,它会一直驻留在内存中并耗费CPU,所以更合适比较小的文件,而压缩文件是不错的选择。压缩文件主要有AIFC和MP3两种格式,一般我们选择AIFC,因为这是苹果推荐的格式。但是我们获得的原始文件格式不一定是AIFC,这种情况下我们需要使用afconvert工具将其转换为AIFC格式。在终端中执行如下命令:
$ afconvert -f AIFC -d ima4 Fx08822_cast.wav
其中-f AIFC参数用于转换为AIFC格式,-d ima4参数指定解码方式,Fx08822_cast.wav是要转换的源文件。转换成功后,会在相同目录下生成Fx08822_cast.aifc文件。当然,afconvert工具也可以转换MP3等其他压缩格式文件。如果我们同时有WAV文件,就应该优先采用WAV文件。MP3本身是有损压缩,如果再经过afconvert转换,音频的质量会受到影响。
2. 音乐特效优化
音乐特效用于很多游戏中,如发射子弹、敌人被打死或按钮点击等发出的声音,这些声音都是比较短的。如果追求震撼的3D效果,可以采用苹果专用的无压缩CAFF格式文件,其他格式的文件尽量不要考虑。一般不要使 用压缩音频文件,这主要是因为音乐特效通常采用OpenAL技术,它只接受无压缩的音频文件。另外,压缩音频文件都会造成音质的丢失。如果我们没有CAFF格式的文件,也可以使用afconvert工具将其转换为CAFF格式。在终端中执行如下命令:
$ afconvert -f caff -d LEI16 Fx08822_cast.wav
其中-f caff参数用于转换为CAFF格式,-d LEI16参数指定解码方式,Fx08822_cast.wav是要转换的源文件。默认 音频的采样频率为22050Hz,如果想提高音频采样频率,可以通过如下命令:
$ afconvert -f caff -d LEI16@44100 Fx08822_cast.wav
其中-d LEI16@44100参数中的44100表示音频采用频率为44100Hz。
如果我们采用的资源文件不在本地,而是在分布在网络云服务器中,那么情况就另当别论了。应用在加载这些音频文件时,带宽往往是要考虑的问题,减小文件大小胜过对音质的要求,这种情况下MP3格式是非常适合的。
综上所述可知,音频文件在使用本地资源的情况下,应用于背景音乐时AIFC格式是不二选择,而应用于音乐特效时就应该选择CAFF 格式了。如果是资源来源于网络,南昌APP制作开发公司-百恒网络则建议大家采用MP3格式文件。
以上便是百恒网络为大家介绍的关于IOS开发中音频文件优化的方法,希望对各位开发者有所帮助,了解更多关于IOS开发方面的知识,欢迎大家访问百恒网络官网!