You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用afconvert命令行工具将mp3转m4r出现'fmt?'报错如何解决

报错原因

这个ExtAudioFileCreateWithURL failed ('fmt?')错误是afconvert命令参数缺失导致的:你仅指定了输出容器格式为m4af,没有声明容器对应的音频编码规则,工具无法适配m4r格式要求的编码标准,因此抛出格式识别错误。

修复后的脚本

核心修改点是给afconvert补充编码参数,同时优化脚本兼容性:

#!/bin/bash

# 先判断源目录是否能正常进入,避免后续遍历出错
cd "/path/to/directory/containing/mp3s" || exit 1

for i in *.mp3; do
    # 变量加双引号,兼容带空格的文件名
    baseFilename=$( basename "${i}" .mp3 )
    # 补充-d aac指定AAC编码,-s 2指定低复杂度编码profile,兼容性更强
    afconvert -f m4af -d aac -s 2 "${i}" -o "/path/to/new/location/${baseFilename}.m4r"
done

exit 0
额外说明(可选)

如果是制作iPhone可用的铃声,还可以补充-c 1参数指定单声道、-b 128000指定128kbps码率,同时注意音频总时长不要超过40秒,否则无法同步到iPhone作为铃声使用。

内容的提问来源于stack exchange,提问作者notarobot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:15:00