2

我正在尝试创建一个应用程序,它可以播放从文件加载的多个样本(类似于 iPhoneMultichannelMixer 示例应用程序),同时记录来自麦克风或线路输入的用户输入,并将任何立体声格式的所有内容保存(记录)到文件中。

在架构上,我有一个 Mixer AudioUnit,它接收不同的样本作为输入,混合它们并通过 IORemote 播放。IORemote 麦克风输入被另一个回调捕获以进行录制。问题是 - 我如何记录麦克风输入Mixer AudioUnit 输出总线正在播放的内容?

我可以简单地将我从麦克风获得的内容混合到同一个混音器中,然后将混音器连接到 IORemote 以及其他一些将处理混合信号记录的 AudioUnit(哪种类型?)?可以同时进行吗?我应该按顺序进行吗 - 首先将混音器连接到录音 AudioUnit(哪个??),然后连接到 IORemote 进行播放?我应该/我可以使用 AudioQueue 来记录混音器的输出吗?

我意识到这是很多问题,但搜索没有产生任何积极的结果,所以感谢任何方向。

4

1 回答 1

1

我以前做过。

我这样做的方法是在混音器中为语音创建另一条总线,该总线从远程IO(特别是麦克风)呈现其数据。然后在混音器的输出端添加一个 AudioRenderNotify 来捕获所有组合的音频。在这个回调中,我设置了 ExtAudioFileWriteAsync 和瞧!您所有的音频合并并保存到一个文件中。

您甚至可以即时使用压缩音频。AAC AppleLossless 甚至是简单的 LinearPCM (Wave, Aiff)

于 2012-10-30T13:40:16.403 回答