【问题标题】:Using afconvert command line tool to convert .mp3 files to m4r使用 afconvert 命令行工具将 .mp3 文件转换为 m4r
【发布时间】:2021-11-03 22:16:08
【问题描述】:

我有一个简短的 bash 脚本,旨在将充满 .mp3 文件的文件夹转换为 .m4r 铃声。我无法弄清楚为什么它会抛出以下错误:

“错误:ExtAudioFileCreateWithURL 失败 ('fmt?')”

#!/bin/bash

cd "/path/to/directory/containing/mp3s"

for i in *.mp3; do
    baseFilename=$( basename ${i} .mp3 )
    afconvert -f m4af ${i} -o "/path/to/new/location/${baseFilename}.m4r"
done

exit 0

【问题讨论】:

  • 如果文件名包含可能引发错误的 shell 特殊的空格和字符,因为您的变量没有被引用。使用"$i" 而不是${i},大括号是可选的,但不能替代引号。
  • 通过shellcheck.net 运行脚本并修复它指出的问题。如果这不能解决问题,请尝试直接运行命令(而不是通过脚本),看看它是否以这种方式工作。如果没有,请排除故障(我不知道afconvert,所以我无能为力)。如果直接运行命令时它确实有效,请将set -x 放在脚本的开头以获取执行跟踪,并查看它的不同之处。

标签: bash macos mp3 ringtone afconvert


【解决方案1】:

问题是我没有指定输出数据格式。找到了一个帮助我找到答案的页面:

http://support.moonpoint.com/os/os-x/audio/afconvert.php

    #!/bin/bash

cd "/path/to/directory/containing/mp3s"

for i in *.mp3; do
    baseFilename=$( basename "${i}" .mp3 )
    afconvert -f m4af "${i}" -d aac "/path/to/new/location/${baseFilename}.m4r"
done

exit 0

【讨论】:

    猜你喜欢
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多