我一直在使用AVAudioRecorder在iPhone上录制音频,但文件太大,无法上传到边缘网络上的服务器。我发现,如果我可以将音频压缩成AMR格式,与原始的PCM音频文件相比,大小将大大减少。
我找到了一个用纯C编写的AMR编解码库(3GPPRAMR浮点语音编解码器),我现在可以用这个库将WAVE转换成AMR,但是在iPhone上编码过程太长了。我必须等待22秒才能编码一个1分钟的Wave文件。
我真的需要在编码的同时进行录制,以消除编码等待,但AVAudioRecorder只通过创建新文件来提供录制功能。似乎唯一的方法是使用AudioQueue,它通过内存缓冲区提供记录。
问题是我不知道如何集成这两个东西,音频队列和AMR库。有谁能帮帮我吗?
发布于 2011-08-12 01:58:54
核心音频具有对3GPP/AMR的内置支持。使用ExtAudioFile或较低级别的AudioConverter。
https://stackoverflow.com/questions/7025953
复制相似问题