2012-11-06 29 views
3

我试图执行此iOS - RemoteIO AudioUnits,可能有2个?

RemoteIO1(用于记录到缓冲器) - > kAudioUnitType_Mixer - > RemoteIO2(用于输出的回放)

RemoteIO1用于2个用途:

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有什么选择?

谢谢。

码头。

回答

2

我已经了解到,2个remoteIO对于iOS来说是不可能的。 (如果我错了,请纠正我)。 RemoteIO的作用类似于墙上的插座 - 一个插头显示“输入”,另一个显示“输出”。 “输入”未连接到“输出”。 因此,我能够将调音台的输出连接到remoteIO的输出。 与此同时,我从RemoteIO输入捕获了麦克风音频。

相关问题