Запись файлов AMR на iPhone - PullRequest
       25

Запись файлов AMR на iPhone

2 голосов
/ 11 августа 2011

Я использую AVAudioRecorder для записи аудио на iPhone, но файл слишком велик для загрузки на сервер в сети EDGE.Я обнаружил, что если бы я мог сжимать аудио в формат AMR, его размер был бы значительно меньше по сравнению с исходным аудиофайлом PCM.

Я нашел библиотеку кодирования и декодирования AMR (3GPP AMR с речевым кодеком с плавающей точкой)написано на чистом C. Теперь я могу конвертировать WAVE в AMR, используя эту библиотеку, однако процесс кодирования на iPhone слишком длинный.Мне нужно подождать 22 секунды для кодирования 1-минутного волнового файла.

Мне действительно нужно записывать вместе с кодировкой, чтобы исключить ожидание кодирования, но AVAudioRecorder обеспечивает возможность записи только путем создания новых файлов.Кажется, единственный способ сделать это - использовать AudioQueue, которая обеспечивает запись через буфер памяти.

Проблема в том, что я не знаю, как объединить две вещи, Audio Queue и библиотеку AMR.Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 11 августа 2011

Core Audio имеет встроенную поддержку 3GPP / AMR . Используйте ExtAudioFile или низкоуровневый AudioConverter .

...