将AUNode效果连接为类型发送而不是插入

时间:2017-02-04 15:57:14

标签: ios objective-c macos core-audio

我有一个带有一系列效果的音频图表,但它们像Insert一样连接。

 AUGraphConnectNodeInput (processingGraph, mixerNode, 0, reverbNode1, 0);
 AUGraphConnectNodeInput (processingGraph, delayNode, 0, reverbNode1, 0);
 AUGraphConnectNodeInput (processingGraph, reverbNode, 0, iONode, 0);

但我需要Reverb和Delay效果,比如发送连接。 这是我的联系:

mixerNode - > DelayNode - > ReverbNode - > iONode

这就是我所需要的:

mixerNode ------------------> iONode

mixerNode - > ReverbNode - > iONode

mixerNode - > DelayNode ---> iONode

我看到了一个样本,像这样AVFoundation很容易......

[_engine connect:_player to:_reverb format:playerFormat];
[_engine connect:_reverb to:mainMixer fromBus:0 toBus:0 format:playerFormat];
[_engine connect:_distortion to:mainMixer fromBus:0 toBus:2 format:stereoFormat];
NSArray<AVAudioConnectionPoint *> *destinationNodes = [NSArray arrayWithObjects:[[AVAudioConnectionPoint alloc] initWithNode:_engine.mainMixerNode bus:1],
                                                                                [[AVAudioConnectionPoint alloc] initWithNode:_distortion bus:0],
                                                                                  nil];

[_engine connect:_sampler toConnectionPoints:destinationNodes fromBus:0 format:stereoFormat];

我的问题是......如何使用AUNodes和我的处理图进行此类连接?

1 个答案:

答案 0 :(得分:1)

嗯......如果有人需要它,解决方案似乎是kAudioUnitSubType_MultiSplitter