我正在尝试创建一个播放从文件中加载的几个样本的应用程序(类似于iPhoneMultichannelMixer示例应用程序),同时记录用户从麦克风或线路输入的输入,并将任何立体声格式的所有内容保存(记录)到文件
在架构上,我有一个Mixer AudioUnit,它接收不同的样本作为输入,混合它们并通过IORemote播放。 IORemote麦克风输入正被另一个用于录制的回调捕获。问题是 - 如何录制麦克风输入和从混音器AudioUnit输出总线播放的内容?
我可以简单地将我从麦克风上获得的内容混合到同一个混音器中,并将混音器连接到IORemote以及其他一些处理混合信号录音的AudioUnit(类型?)?有可能同时吗?我应该按顺序执行 - 首先将混音器连接到录音AudioUnit(哪个?)然后再连接到IORemote进行播放?我应该/可以使用AudioQueue来录制调音台的输出吗?
我意识到这是很多问题,但搜索没有产生任何积极的结果,所以欣赏任何方向。
答案 0 :(得分:1)
我以前做过这个。
我这样做的方法是在调音台中为声音创建另一个总线,从远程IO,特别是麦克风中呈现数据。然后在调音台的输出端添加一个AudioRenderNotify以捕获所有组合的音频。在这个回调中,我设置了一个ExtAudioFileWriteAsync和Voila!所有音频合并并保存到文件中。
您甚至可以动态使用压缩音频。 AAC AppleLossless甚至简单的LinearPCM(Wave,Aiff)