我正在做一个iPhone应用程序,我有一大堆需要转换成.caf的.wav文件
我可以对每个文件使用下面的代码:
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
发布于 2012-01-09 15:45:55
这是我一直在使用的脚本,从另一个来源稍微修改了一下,这是值得称赞的:
##
## 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_waveltoaf.sh’的文件中。看看能不能奏效。
发布于 2012-01-07 21:28:57
尝试在脚本中的afconvert之前添加echo $i;,以获取命令失败的声音文件的名称。然后尝试手动转换它,它可能也会失败。
我怀疑你的文件中有一个不是真正的wav,但是它的格式是afconvert无法识别的。
https://stackoverflow.com/questions/8769851
复制相似问题