使用 Apple 的 AVFoundationExporter 示例代码将 AIFF 导出到 AAC 让我有些损坏
Exporting AIFF to AAC using Apple's AVFoundationExporter sample code gets me something slightly broken
我已经下载了 Apple 的示例代码 AVFoundationExporter(可从 Apple 开发站点获得)。该项目的标题是 "AVFoundationExporter: Exporting and Transcoding Movies",但我正在尝试使用它将 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 文件强制设置为 "Open in... iTunes" 时,iTunes 打开但没有任何反应。 .m4a 文件没有出现在 iTunes 中的任何地方。
我试过换行
var destinationFileType = AVFileTypeQuickTimeMovie
到
var destinationFileType = AVFileTypeAppleM4A
现在失败了
error: Operation Stopped: The operation is not supported for this
media.. Program ended with exit code: 1
我摆弄了很多设置,但似乎没有任何效果。 -inject-metadata 标志没有任何区别。使用 -preset 也不行。 -fileType com.apple.m4a-audio 没有帮助。奇怪的是,我真的得到了我想要的文件。它只是不能正常工作。如果我在 QuickTime 中打开我的 "testfile.m4a" 文件并再次导出它,那么我最终会得到一个具有不同比特率的 .m4a 文件,但这个文件确实可以在 iTunes 中打开。
文件类型 public.mpeg-4-audio
(来自 kUTTypeMPEG4Audio
?)错误。您需要 com.apple.m4a-audio
(对应于 AVFileTypeAppleM4A
)。
不要忘记先删除现有的 m4a
文件!
所以你的命令应该是
rm -f out.m4a # AVFoundation doesn't like overwriting existing files.
AVFoundationExporter in.aiff out.m4a -preset AVAssetExportPresetAppleM4A -f public.mpeg-4-audio
我已经下载了 Apple 的示例代码 AVFoundationExporter(可从 Apple 开发站点获得)。该项目的标题是 "AVFoundationExporter: Exporting and Transcoding Movies",但我正在尝试使用它将 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 文件强制设置为 "Open in... iTunes" 时,iTunes 打开但没有任何反应。 .m4a 文件没有出现在 iTunes 中的任何地方。
我试过换行
var destinationFileType = AVFileTypeQuickTimeMovie
到
var destinationFileType = AVFileTypeAppleM4A
现在失败了
error: Operation Stopped: The operation is not supported for this media.. Program ended with exit code: 1
我摆弄了很多设置,但似乎没有任何效果。 -inject-metadata 标志没有任何区别。使用 -preset 也不行。 -fileType com.apple.m4a-audio 没有帮助。奇怪的是,我真的得到了我想要的文件。它只是不能正常工作。如果我在 QuickTime 中打开我的 "testfile.m4a" 文件并再次导出它,那么我最终会得到一个具有不同比特率的 .m4a 文件,但这个文件确实可以在 iTunes 中打开。
文件类型 public.mpeg-4-audio
(来自 kUTTypeMPEG4Audio
?)错误。您需要 com.apple.m4a-audio
(对应于 AVFileTypeAppleM4A
)。
不要忘记先删除现有的 m4a
文件!
所以你的命令应该是
rm -f out.m4a # AVFoundation doesn't like overwriting existing files.
AVFoundationExporter in.aiff out.m4a -preset AVAssetExportPresetAppleM4A -f public.mpeg-4-audio