繁体   English   中英

iOS上的录音

[英]Audio Recording on iOS

我刚刚开始从事一个项目,该项目需要我在iOS上做很多音频相关的工作。

这是我第一次在音频领域工作,而且完全不知道该如何处理。 因此,我在Google上搜索了文档,并且主要依靠Apple文档。 首先,我必须提到这些文件非常混乱,而且常常会产生误导。

无论如何,为了测试录音,我使用了AVAudioSession和AVAudioRecorder。 据我了解,这些对于简单的录制和播放是可以的。 因此,这是我在做更复杂的事情时遇到的几个问题:

  • 如果在录制过程中希望对音频进行任何实时处理,是否需要使用音频队列服务?
  • 除了音频队列服务,我还有什么其他选择?
  • 什么是音频单元?

我实际上得到了Apple的Audio Queue Services编程指南,并开始编写一个音频队列进行录制。 他们的音频队列服务指南中的“图表”(PDF第19页)显示了使用AAC编解码器进行的录制。 但是,经过一番挫折和大量时间的浪费,我发现iOS上不提供AAC录制-“核心音频基本知识”的“核心音频插件:音频单元和编解码器”部分。

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

  • 考虑到Apple Lossless,iLBC,IMA / ADPCM,Linear PCM,uLaw / aLaw,哪种记录格式合适? 某处可能有人可以参考的图表吗?
  • 另外,如果使用音频队列无法进行MPEG4AAC(.m4a)录制,那么如何使用AVAudioRecorder录制MPEG4AAC(.m4a)?

超级感谢您提前为我提供帮助。 我将非常感激任何链接,方向和/或智慧之词。

再次感谢并加油!

对于第一个问题,音频队列服务或使用RemoteIO音频单元是用于实时音频处理的适当API,RemoteIO允许更低和更多的确定性延迟,但与音频队列相比,对实时性的要求更高。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM