如何使用afconvert从.caf格式转换为.mp3格式?

22 iphone core-audio

我正在使用afconvert命令行实用程序将音频文件转换.caf.mp3格式.我用过afconvert:

afconvert -f 'MPG3 ' -d '.mp3' -v input.caf output.mp3 
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误:

Input file: input.caf, 19008 frames
Error: ExtAudioFileSetProperty ('cfmt') failed ('fmt?')
Run Code Online (Sandbox Code Playgroud)

我也尝试过以下方法:

afconvert -f 'MPG3 ' -d LEI32@44100 -v input.caf  output.mp3
Run Code Online (Sandbox Code Playgroud)

这也给了我错误:

Input file: min.caf, 19008 frames
Error: ExtAudioFileCreateWithURL failed ('fmt?')
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么这会给出错误.

任何人都可以指导我解决这个问题吗?

谢谢你提前.

小智 22

你应该检查一下,

afconvert -f mp4f -d aac -b 128000   input.caf output2.mp4
Run Code Online (Sandbox Code Playgroud)

这样您就可以将CAF文件转换为MPEG-4格式.

阅读:除了内置于iTunes中的Mac OS X,Apple不提供任何形式的MP3编码器.来源:http://lists.apple.com/archives/coreaudio-api/2005/Jul/msg00182.html

你应该使用第三方编码器如果你需要编码mp3 Mp3编码器例子:lame encoder或ffmpeg :)祝你好运.

  • -1错了.这只是创建一个带有mp3扩展名的mpeg4音频文件. (13认同)

Ale*_*y F 6

您可以安装LAME编码器并使用它.

如果您有Mac端口(如果没有 - 只需搜索并安装),只需运行:

sudo port install lame
Run Code Online (Sandbox Code Playgroud)

首先,你必须将caf转换为wav(我没有机会检查LAME是否支持caf作为输入,但它确实支持wav).然后跑

lame --alt-preset cbr 128 sample.wav
Run Code Online (Sandbox Code Playgroud)

这将创建具有128 kbps恒定比特率的mp3文件.LAME有很多设置,您可以根据需要选择mp3参数.

  • 安装自制软件 http://brew.sh/ 然后 brew install lame (2认同)

小智 -6

尝试这个:

afconvert -f mp4f -d aac -v input.caf output.mp3
Run Code Online (Sandbox Code Playgroud)

我知道它不完全是 mp3,但我无法解决您遇到的相同错误,所以我尝试了 mp4f 并且它有效。