我刚开始做一个项目,需要我在 iOS 上做很多与音频相关的事情。
这是我第一次在音频领域工作,完全不知道如何去做。因此,我在 Google 上搜索了文档,并且主要依赖于 Apple 文档。首先,我必须提到,这些文件非常令人困惑,而且常常具有误导性。
无论如何,为了测试录音,我使用了 AVAudioSession 和 AVAudioRecorder。据我了解,这些对于简单的录制和播放来说都是可以的。所以,这里有几个关于做更复杂的事情的问题:
- 如果我希望在录制过程中对音频进行任何实时处理,是否需要使用音频队列服务?
- 除了音频队列服务,我还有哪些其他选择?
- 什么是音频单元?
我实际上得到了 Apple 的音频队列服务编程指南,并开始编写音频队列进行录制。他们的音频队列服务指南(PDF 第 19 页)上的“图表”显示正在使用 AAC 编解码器进行录制。但是,经过一番挫折和浪费大量时间后,我发现 AAC 录制在 iOS 上不可用 - “Core Audio Essentials”,“Core Audio Plug-ins: Audio Units and Codecs”部分。
这让我想到了另外两个问题:
- 考虑到 Apple Lossless、iLBC、IMA/ADPCM、Linear PCM、uLaw/aLaw,什么是适合录制的格式?有没有人可以参考的图表?
- 此外,如果无法使用音频队列进行 MPEG4AAC (.m4a) 录制,我怎么能使用 AVAudioRecorder 录制 MPEG4AAC (.m4a)?!
非常感谢您提前帮助我解决这个问题。我会非常感谢任何链接、方向和/或智慧之言。
再次感谢和欢呼!