如何使用afconvert的所有文件转换成一个目录 - 从WAV到CAF?
-
13-09-2019 - |
题
我有我需要转换为咖啡馆,因为AudioServicesCreateSystemSoundID()返回他们中的一些错误(但不是全部)约50 wav文件的目录。
下面是我已经成功地用于单个文件的命令的示例:
afconvert -f caff -d LEI16@44100 -c 1 whistle.wav whistle.caf
如何快速做到这一点 - 不是一个接一个的每个文件
解决方案
在Windows上,使用%~ni
语法。
for %i in (*.wav) do afconvert -f caff -d LEI16@44100 -c 1 %i %~ni.caf
其他提示
对于bash类似的方法:for i in *.wav; do afconvert -f caff -d LEI16@44100 -c 1 $i ${i%.wav}.caf; done
发现这一点:
##
## 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”的文本文件,把它放在你要转换,并从终端运行文件的目录。
它与文件名称中有空格。
for file in *.wav; do afconvert -f caff -d LEI16@44100 -c 1 "$file"; done
done
后直接按回车键。
简单:)
有关使用OSX谁是和是有点害怕的终端脚本我创建了Automator的一个小应用程序的人来说,这个应用程序进行转换选择的文件。
下载此处
如果您正在处理包含在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
在OSX Python脚本。在.caf
的默认数据格式为ima4
。默认目录'.'
请一个叫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 '
不隶属于 StackOverflow