Как записать, используя AVAudioRecorder без контейнера.caf?
Я использую экземпляр AVAudioRecorder для записи с настройкой для AVFormatIDKey
установлен в kAudioFormatMPEG4AAC
, Он записывает аудио в формате AAC, но .caf
аудио контейнер упаковывает аудио файл. (Я вижу заголовок caff в файле рекордера). Как записать, чтобы контейнер caff был не там, а в чистом формате m4a, чтобы я мог использовать файлы на разных платформах.
1 ответ
Нашел ответ. Есть странный способ работы AVAudioRecorder.
Формат, в котором AVAudioRecorder будет сохранять ваш файл, зависит от URL/ строки, которую вы указываете для сохраняемого файла. Это зависит от расширения имени файла, который вы сохраняете.
Если вы не укажете какое-либо расширение или расширение, которое рекордер не сможет понять, он добавит контейнер Core Audio. Итак, в основном следите за тем, чтобы расширение и AVFormatIDKey
матч. Как для aac
использовать формат использовать .aac
расширение с kAudioFormatMPEG4AAC
как AVFormatIDKey