我已经下载了 Apple 的示例代码 AVFoundationExporter(可从 Apple 开发网站获得)。该项目的标题是“AVFoundationExporter:导出和转码电影”,但我正在尝试使用它将 AIFF 文件更改为 AAC (M4A) 文件。
在桌面上,我有一个文件“testfile.aiff”。我用命令调用它...
AVFoundationExporter "/Users/rbell/Desktop/testfile.aiff" "/Users/rbell/Desktop/testfile.m4a" -preset AVAssetExportPresetAppleM4A -f public.mpeg-4-audio"
(或只是 [AVFoundationExporter “/Users/rbell/Desktop/testfile.aiff” “/Users/rbell/Desktop/testfile.m4a”])
...我确实在我的桌面上得到了一个名为“testfile.m4a”的文件。我确实可以使用 Finder 的空格键预览或使用 QuickTime 来播放它。
但是,我无法使用 iTunes 打开或将其导入 iTunes。它根本不会去。我可以很好地打开 .aiff 文件,并且播放愉快。但是,当我尝试强制 .m4a 文件“在... iTunes 中打开”时,iTunes 会打开并且没有任何反应。.m4a 文件不会出现在任何地方的 iTunes 中。
我试着换行
var destinationFileType = AVFileTypeQuickTimeMovie
至
var destinationFileType = AVFileTypeAppleM4A
现在它失败了
错误:操作已停止:此媒体不支持该操作。程序以退出代码结束:1
我已经摆弄了很多设置,但似乎没有任何效果。-inject-metadata 标志没有任何区别。也不使用 -preset。-fileType com.apple.m4a-audio 没有帮助。奇怪的是,我确实得到了我想要的文件。它只是无法正常工作。如果我在 QuickTime 中打开我的“testfile.m4a”文件并再次导出它,那么我最终会得到一个比特率不同的 .m4a 文件,但这个文件确实在 iTunes 中打开。