在做游戏音效的时候,通常会使用.wav格式的音频文件,但是Apple通常推荐我们使用.CAF格式的,同时也提供了afconvert工具可以方便我们对音频文件进行转换。
首先可以输入如下命令来查看支持哪些格式的音频。
afconvert -hf
或者
afconvert --help-formats
会得到如下信息,就是该工具所能支持的格式。
- '3gpp' = 3GP Audio (.3gp)
- data_formats: 'aac ' 'samr'
- '3gp2' = 3GPP-2 Audio (.3g2)
- data_formats: 'aac ' 'samr'
- 'adts' = AAC ADTS (.aac, .adts)
- data_formats: 'aac ' 'aach'
- 'ac-3' = AC3 (.ac3)
- data_formats: 'ac-3'
- 'AIFC' = AIFC (.aifc, .aiff, .aif)
- data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 UI8 'ulaw'
- 'alaw' 'MAC3' 'MAC6' 'ima4' 'QDMC' 'QDM2'
- 'Qclp' 'agsm'
- 'AIFF' = AIFF (.aiff, .aif)
- data_formats: I8 BEI16 BEI24 BEI32
- 'amrf' = AMR (.amr)
- data_formats: 'samr'
- 'caff' = Apple CAF (.caf)
- data_formats: '.mp1' '.mp2' '.mp3' 'QDM2' 'QDMC' 'Qclp'
- 'Qclq' 'aac ' 'aach' 'aacl' 'alac' 'alaw'
- 'dvi8' 'ilbc' 'ima4' I8 BEI16 BEI24 BEI32
- BEF32 BEF64 LEI16 LEI24 LEI32 LEF32 LEF64
- 'ms\x00\x02' 'ms\x00\x11' 'ms\x001' 'samr'
- 'ulaw'
- 'm4af' = Apple MPEG-4 Audio (.m4a)
- data_formats: 'aac ' 'aach' 'aacl' 'alac'
- 'MPG1' = MPEG Layer 1 (.mp1, .mpeg, .mpa)
- data_formats: '.mp1'
- 'MPG2' = MPEG Layer 2 (.mp2, .mpeg, .mpa)
- data_formats: '.mp2'
- 'MPG3' = MPEG Layer 3 (.mp3, .mpeg, .mpa)
- data_formats: '.mp3'
- 'mp4f' = MPEG-4 Audio (.mp4)
- data_formats: 'aac ' 'aach' 'aacl'
- 'NeXT' = NeXT/Sun (.snd, .au)
- data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 'ulaw'
- 'Sd2f' = Sound Designer II (.sd2)
- data_formats: I8 BEI16 BEI24 BEI32
- 'WAVE' = WAVE (.wav)
- data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 'ulaw'
- 'alaw'
afconvert命令的格式如下:
afconvert [option...] input_file [output_file]
其中[option...]主要有以下几个操作:
-f 指定文件格式
-d 数据格式
-c 声道
比如命令:
afconvert -f caff -d LEI16@44100 -c 1 input.wav output.caf
用于将input.wav转换为output.caf
其中-f指定文件格式为caff,即采用ima4压缩的.caf文件格式;
其中-d指定数据格式,LEI16@44100则表示16位44100Hz;
其中-c就是声道数了。
下面是常用的两个命令:
//改变当前目录及子目录中所有.wav文件的数据格式为LEI16@44100
$find . -name '*.wav' -exec afconvert -f WAVE -d LEI16@44100 -c 1 {} \;
//将.wav转换为.caf格式
$find . -name '*.wav' -exec afconvert -f caff -d LEI16@44100 {} \;
更多使用方法请输入“afconvert -h”。
本文转自 yarin 51CTO博客,原文链接:http://blog.51cto.com/yarin/418546,如需转载请自行联系原作者