AFCONVERT를 사용하여 디렉토리의 모든 파일을 WAV에서 CAF로 변환하려면 어떻게합니까?

StackOverflow https://stackoverflow.com/questions/1271354

문제

AudioservicesCreatesyStemsoundId ()가 일부에 대해 오류를 반환하기 때문에 CAF로 변환 해야하는 약 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의 파이썬 스크립트. 기본 데이터 형식 .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/

데이터 유형 'AAC'를 사용하여 모든 .wav로 변환합니다.

wav2caf.py -d 'aac '
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top