在iOS上录音

我刚开始研究一个项目,需要我在iOS上做很多与音频相关的东西。

这是我第一次在音频领域工作,并且完全不知道如何去做。 所以,我搜索了文档,并且主要依靠Apple文档。 首先,我必须提到,这些文件非常混乱,而且往往具有误导性。

无论如何,为了测试录音,我使用了AVAudioSession和AVAudioRecorder。 根据我的理解,这些对于简单的录制和播放都是可以的。 所以,这里有几个关于做更复杂任务的问题:

  • 如果我希望在录制过程中对音频进行实时处理,是否需要使用音频队列服务?
  • 除了音频队列服务之外,还有哪些其他选项?
  • 什么是音频单元?
  • 我实际上获得了Apple的音频队列服务编程指南,并开始编写用于录制的音频队列。 他们的音频队列服务指南上的“图表”(PDF格式的第19页)显示使用AAC编解码器进行录制。 然而,经过一番沮丧和浪费了很多时间之后,我发现AAC录音在iOS上不可用 - “Core Audio Essentials”,“Core Audio插件:音频单元和编解码器”部分。

    这让我想到了另外两个问题:

  • 鉴于Apple Lossless,iLBC,IMA / ADPCM,线性PCM,uLaw / aLaw,什么是适合录制的格式? 有人可能会提到某个图表吗?
  • 另外,如果MPEG4AAC(.m4a)录音不能使用音频队列,那么我怎样才能使用AVAudioRecorder录制MPEG4AAC(.m4a)?!
  • 超级感谢提前帮助我解决这个问题。 我会超级赞赏任何关于智慧的链接,方向和/或话语。

    再次感谢和欢呼!


    对于第一个问题,Audio Queue服务或使用RemoteIO Audio Unit是用于实时音频处理的合适API,RemoteIO允许更低和更确定的延迟,但比音频队列有更严格的实时要求。

    对于创建aac录制,一种可能性是录制到原始线性PCM音频,然后使用AV文件服务将缓冲的原始音频转换为您所需的压缩格式。

    链接地址: http://www.djcxy.com/p/67021.html

    上一篇: Audio Recording on iOS

    下一篇: Converting GSM encoded audio to linear PCM in iOS