在iPhone上录制AMR文件

时间:2011-08-11 12:36:58

标签: objective-c cocoa-touch avaudiorecorder audioqueue amr

我一直在使用AVAudioRecorder在iPhone上录制音频,但文件太大,无法上传到EDGE网络上的服务器。我发现如果我可以将音频压缩为AMR格式,与原始PCM音频文件相比,尺寸将大大减小。

我找到了AMR编码&用纯C编写的解码库(3GPP AMR浮点语音编解码器)。我现在可以使用这个库将WAVE转换为AMR,但是,iPhone上的编码过程太长了。我必须等待22秒才能编码1分钟的Wave文件。

我真的需要与编码一起记录以消除编码等待,但AVAudioRecorder仅通过创建新文件来提供录制功能。似乎唯一的方法是使用AudioQueue,它通过内存缓冲区提供录制。

问题是我不知道如何整合音频队列和AMR库这两件事。谁能帮助我?

1 个答案:

答案 0 :(得分:1)

Core Audio内置支持3GPP / AMR。使用ExtAudioFile或较低级AudioConverter