iPhone开发技巧之工具篇 使用afconvert转换WAV文件


序中经常使用 .WAV 的音效文件,虽然可以直接使用它,但是最好转换为 apple 推荐的 .CAF 格式。

这个时候我们就可以使用 afconvert 命令。其基本的语法如下:

用 -d 指定频率格式

  1. { -d | --data } data_format[@sample_rate_hz][/format_flags][#frames_per_packet] :
  2. [-][BE|LE]{F|[U]I}{8|16|24|32|64} (PCM)
  3. e.g. BEI16 F32@44100
  4. or a data format appropriate to file format
复制代码

可以指定的 .WAV 文件格式有以下5种:

  1. UI8 LEI16 LEI24 LEI32 LEF32
复制代码

比如 -d LEI16@22050 就代表 16位 22050Hz。

另外可以用 -c 指定声道。用 -f 指定格式。比如:

  1. $afconvert -f WAVE -d LEI16@22050 -c 1 < destinate file >
复制代码

比如改变当前目录及子目录下的 .wav 文件格式,如下命令:

  1. $find . -name '*.wav' -exec afconvert -f WAVE -d LEI16@22050 -c 1 {} \;
复制代码

如果要转换为用 ima4 压缩的 .caf 文件则用下面的命令:

  1. $find . -name '*.wav' -exec afconvert -f caff -d ima4 {} \;
复制代码

其中支持的格式如下所示:

  1. { -f | --file } file_format:
  2. .......
  3. 'caff' = Apple CAF (.caf)
  4. data_formats: '.mp1' '.mp2' '.mp3' 'MAC3' 'MAC6'
  5. 'QDM2' 'QDMC' 'Qclp' 'Qclq' 'aac ' 'aacl'
  6. 'agsm' 'alac' 'alaw' 'drms' 'dvca' 'dvi '
  7. 'dvi8' 'ilbc' 'ima4' 'lpc ' I8 BEI16
  8. BEI24 BEI32 BEF32 BEF64 LEI16 LEI24
  9. LEI32 LEF32 LEF64 'ms\x00\x02' 'ms\x00\x11' 'ms\x001'
  10. 'ms\x00U' 'samr' 'ulaw' 'vdva'
复制代码
原文地址:https://www.cnblogs.com/ligun123/p/2426394.html