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