Я загрузил образец кода Apple AVFoundationExporter (доступный с сайта Apple dev). Название проекта - «AVFoundationExporter: экспорт и транскодирование фильмов», но я пытаюсь использовать его для изменения файла AIFF в файл AAC (M4A).Экспорт AIFF в AAC с использованием кода примера AVFoundationExporter от Apple вызывает у меня что-то слабое нарушение
На рабочем столе у меня есть файл «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. Он просто не пойдет. Я могу открыть файл .aiff просто отлично, и он работает счастливо. Но когда я пытаюсь заставить файл .m4a «Открыть в ... 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 не помогает. Странно то, что я действительно получаю файл, который я хочу. Это просто не работает должным образом. Если я открою файл «testfile.m4a» в QuickTime и снова экспортирую его, то в конечном итоге я получаю файл .m4a с другим битрейтом, но он открывается в iTunes.
Большое спасибо за помощь. Но ... Это действительно дает ожидаемый файл .m4a, который действительно играет, если вы дважды щелкните по нему (и если вы выберете его и нажмите пробел). Но когда я нажимаю на него и говорю «Open in> iTunes», iTunes открывается, но файл .m4a не импортируется. Он тоже не играет. В main.swift есть строка, которая гласит: «var destinationFileType = AVFileTypeQuickTimeMovie». Если я изменил это на «var destinationFileType = AVAssetExportPresetAppleM4A» (пытаясь соответствовать пресету m4a), я получаю сбой, со следующим: –
2016-02-15 19: 15: 51.915 AVFoundationExporter [9371: 1120595] *** Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «Недопустимый тип выходного файла» –
(Mac OS X 10.11.3 и iTunes 12.3.2.35, если это имеет значение) –