如何使用afconvert将目录中的所有文件从wav转换为caf?

Ell*_*iot 13 audio command-line wav afconvert caf

我有一个目录,其中有大约50个wav文件,我需要转换为caf,因为AudioServicesCreateSystemSoundID()为其中一些(但不是全部)返回错误.

以下是我成功用于单个文件的命令示例:

afconvert -f caff -d LEI16@44100 -c 1 whistle.wav whistle.caf
Run Code Online (Sandbox Code Playgroud)

如何快速完成此操作 - 不是每个文件一个接一个?

小智 35

bash的类似方法: for i in *.wav; do afconvert -f caff -d LEI16@44100 -c 1 $i ${i%.wav}.caf; done


lav*_*nio 9

在Windows上,使用%~ni语法.

for %i in (*.wav) do afconvert -f caff -d LEI16@44100 -c 1 %i %~ni.caf
Run Code Online (Sandbox Code Playgroud)

  • 为什么Windows特定的答案被标记为正确的Mac问题?它看起来与我无关. (9认同)

War*_*ard 5

发现了这个:

##
## 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 converttocaf.sh'
## Any comments to 'support@ezone.com'
##

for f in *; do
    if  [ "$f" != "converttocaf.sh" ]
    then
        /usr/bin/afconvert -f caff -d LEI16 "$f"
        echo "$f converted"
    fi
done
Run Code Online (Sandbox Code Playgroud)

自定义aconvert选项,然后将其保存为名为"converttocaf.sh"的文本文件,将其放在要转换的文件目录中并从终端运行它.

它适用于名称中包含空格的文件.


Jan*_*svw 5

对于使用OSX并且有点害怕终端脚本的人我使用Automator创建了一个小应用程序,该应用程序会转换您选择的文件.

在这里下载


小智 5

for file in *.wav; do afconvert -f caff -d LEI16@44100 -c 1 "$file"; done
Run Code Online (Sandbox Code Playgroud)

之后直接点击Return键done.

简单:)