路由到不同组混音器的多个总线使它们在Render Callback中共享变量

时间:2017-02-22 18:30:46

标签: ios callback core-audio augraph

我有一个渲染回调,有20个总线同步并路由到同一个混音器,但现在我需要对这20个总线中的一些应用效果,所以现在,它们被分成5组。

所以现在,我有20辆公共汽车分为4组。

0-4路由到 - Mixer1

AUGraphSetNodeInputCallback (processingGraph,mixer1Node,
                                                  input, //0-4
                                                  &inputCallbackStruct
                                                  );

5-9路公交 - 路由到 - Mixer2

AUGraphSetNodeInputCallback (processingGraph,mixer2Node,
                                                  input, //0-4
                                                  &inputCallbackStruct
                                                  );

10-14路公交车 - 搅拌机3 ......

15-19路公交车 - 混合器4 ......

现在,我的问题是这些组中的每一个都在[0]到[4] inBusNumber中,在渲染回调中使用相同的数据。所以旧的inBusNumber [5]现在是Mixer2的[0],具有与Mixer1的bus [0]相同的渲染数据。现在所有变量都与其他调音台的总线共享。

现在我的复杂渲染代码无用....我需要在每个总线上使用自变量。

任何想法如何处理它?

1 个答案:

答案 0 :(得分:0)

我用kAudioUnitSubType_MatrixMixer制作了它。它允许任意数量的输入和任意数量的输出。 所以我将总线0-4设置为输出0,总线0-9设置为输出1 ...等等。可以通过这种方式设置从任何输入到矩阵混合器的任何输出的音量:

RecyclerView

使用这种方法,所有总线都被路由到同一个混音器(MatrixMixer),我可以在渲染回调中共享变量。