我正在尝试这样做
RemoteIO1(用于录制到缓冲区) - > kAudioUnitType_Mixer - > RemoteIO2(用于播放输出)
RemoteIO1 用于两个目的:
1)将音频输入混音器通道0
2)将音频从麦克风录制到缓冲区
kAudioUnitType_Mixer
1)从RemoteIO获取音频 - 输入0
2)将来自(1)的音频与来自缓冲区的音频 - input1
混合RemoteIO2
1)获取混合音频并将其发送到播放
最初我认为我可以从混音器输出回放,但以下给我一个错误。我可以确认我需要另一台RemoteIO来播放吗?
// Enable Mixer for playback
status = AudioUnitSetProperty(_mixerUnit,
kAudioOutputUnitProperty_EnableIO,
kAudioUnitScope_Output,
mixerOutputBus,
&flag,
sizeof(flag));
if (noErr != status) { NSLog(@"Enable Mixer for playback error"); return; }
另外,我做了以下测试并意识到似乎只有一个RemoteIO可用(inputComponent和inputComponent2的地址相同)
// Get component
AudioComponent inputComponent = AudioComponentFindNext(NULL, &desc);
AudioComponent inputComponent2 = AudioComponentFindNext(NULL, &desc);
我的应用程序中只能有一个RemoteIO实例吗?如果是这样,第二个RemoteIO有哪些替代方案?
感谢。
码头。
答案 0 :(得分:2)
我已经了解到,因为iOS无法实现2个remoteIO。 (如果我错了,请纠正我)。 RemoteIO就像墙上的插座 - 一个插头说“输入”而另一个说“输出”。 “输入”未连接到“输出”。 因此,我能够将调音台的输出连接到remoteIO的输出。 同时,我从RemoteIO输入中捕获了麦克风音频。