如何使用afconvert的所有文件转换成一个目录 - 从WAV到CAF?(How do I use

2019-08-01 03:49发布

我有我需要转换到咖啡馆约50 wav文件的目录,因为AudioServicesCreateSystemSoundID()返回他们中的一些(但不是全部)的错误。

以下是我已经成功地用于单个文件的命令的例子:

afconvert -f caff -d LEI16@44100 -c 1 whistle.wav whistle.caf

如何快速做到这一点 - 不是一个接一个地为每个文件?

Answer 1:

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

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


Answer 2:

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



Answer 3:

发现这一点:

##
## 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

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

它的工作原理与在其名称中有空格的文件。



Answer 4:

for file in *.wav; do afconvert -f caff -d LEI16@44100 -c 1 "$file"; done

按回车键后直接done

简单:)



Answer 5:

对于使用OSX谁是和有点害怕我创建了Automator的一个小应用终端脚本的人,这个应用程序转换成您所选择的文件。

下载在这里



Answer 6:

如果您正在处理包含在Linux上空格的文件名,请尝试以下代码:

SAVEIFS=$IFS 
IFS=$(echo -en "\n\b"); for i in *.wav; do afconvert -f caff -d LEI16@44100 -c 1 $i ${i%.wav}.caf; done


Answer 7:

在OSX Python脚本。 在默认数据格式.cafima4 。 默认目录是'.'

制作一个名为wav2caf.py ,把它在你的路径,使其可执行,以填补它:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import os
import argparse
import glob

def main():
    # handle command line args
    parser = argparse.ArgumentParser(description='A program that converts .wav to .caf files.', formatter_class=argparse.RawTextHelpFormatter)
    parser.add_help = True
    parser.add_argument('-f', '--folder', dest='folder', type=str, default='.', help='folder of files to convert')
    parser.add_argument('-d', '--data', dest='data', type=str, default='ima4', help='data format of .caf')
    args = parser.parse_args()

    # process files in folder
    os.chdir(args.folder)
    for filename in glob.glob("*.wav"):
        name, ext = os.path.splitext(filename)
        command = 'afconvert -f caff -d ' + args.data + ' ' + filename + ' ' + name + '.caf'
        os.system(command)

if __name__ == "__main__":
    main()

将所有的.wav在当前目录下的.caf:

wav2caf.py

将所有的.wav在指定目录下的.caf:

wav2caf.py -f Desktop/wavs/

将所有的.wav数据类型为“AAC”来的.caf:

wav2caf.py -d 'aac '


文章来源: How do I use afconvert to convert all the files in a directory from wav to caf?