将多个.wav转换为.caf

时间:2012-01-07 12:56:27

标签: iphone xcode audio cocos2d-iphone

我正在制作iPhone应用,我需要将大量.wav个文件转换为.caf

我可以将它用于每个文件:

afconvert -f caff -d LEI8@22050 walking.wav walking.caf

但这需要很长时间,所以我试图用以下内容转换所有文件:

for i in *.wav; do afconvert -f -caff -d LEI16@44100 -c 1 $i ${i%.wav}.caf; done

但是我收到了这个错误:

Error: ExtAudioFileCreateWithURL failed ('typ?')

编辑:由于上面显示的for循环中的拼写错误,实际上会发生错误。它应该是caff而不是-caff。那么正确的代码片段就是。

for i in *.wav; do afconvert -f caff -d LEI16@44100 -c 1 $i ${i%.wav}.caf; done

可能还有其他问题,并且接受的答案是有效的,只是想帮助解决问题。 / EDIT

2 个答案:

答案 0 :(得分:16)

这是我一直在使用的脚本,稍微从其他来源修改过,值得所有的信任:

##
## Shell script to batch convert all files in a directory to caf sound format for iPhone
## Place this shell script a directory with sound files and run it: 'sh afconvert_wavtocaf.sh'
## Any comments to 'support@ezone.com'
##

for f in *.wav; do
if  [ "$f" != "afconvert_wavtocaf.sh" ]
then
 afconvert -f caff -d ima4 $f
 echo "$f converted"
fi
done

将其保存在名为“afconvert_wavtocaf.sh”的文件中。看看是否有诀窍。

答案 1 :(得分:4)

尝试在脚本中echo $i;之前添加afconvert,以获取命令失败的声音文件的名称。然后尝试手动转换它,它也可能会失败。

我怀疑你的某个文件不是真正的wav,但afconvert无法辨认格式。