Как записать, используя AVAudioRecorder без контейнера.caf?

Я использую экземпляр AVAudioRecorder для записи с настройкой для AVFormatIDKey установлен в kAudioFormatMPEG4AAC, Он записывает аудио в формате AAC, но .caf аудио контейнер упаковывает аудио файл. (Я вижу заголовок caff в файле рекордера). Как записать, чтобы контейнер caff был не там, а в чистом формате m4a, чтобы я мог использовать файлы на разных платформах.

1 ответ

Решение

Нашел ответ. Есть странный способ работы AVAudioRecorder.

Формат, в котором AVAudioRecorder будет сохранять ваш файл, зависит от URL/ строки, которую вы указываете для сохраняемого файла. Это зависит от расширения имени файла, который вы сохраняете.

Если вы не укажете какое-либо расширение или расширение, которое рекордер не сможет понять, он добавит контейнер Core Audio. Итак, в основном следите за тем, чтобы расширение и AVFormatIDKey матч. Как для aac использовать формат использовать .aac расширение с kAudioFormatMPEG4AAC как AVFormatIDKey

Другие вопросы по тегам