我一直在使用AVAudioRecorder在iPhone上录制音频,但文件太大,无法上传到EDGE网络上的服务器。我发现如果我可以将音频压缩为AMR格式,与原始PCM音频文件相比,尺寸将大大减小。
我找到了AMR编码&用纯C编写的解码库(3GPP AMR浮点语音编解码器)。我现在可以使用这个库将WAVE转换为AMR,但是,iPhone上的编码过程太长了。我必须等待22秒才能编码1分钟的Wave文件。
我真的需要与编码一起记录以消除编码等待,但AVAudioRecorder仅通过创建新文件来提供录制功能。似乎唯一的方法是使用AudioQueue,它通过内存缓冲区提供录制。
问题是我不知道如何整合音频队列和AMR库这两件事。谁能帮助我?