首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >路由到不同组混合器的多条总线使它们在呈现回调中共享变量

路由到不同组混合器的多条总线使它们在呈现回调中共享变量
EN

Stack Overflow用户
提问于 2017-02-23 02:30:46
回答 1查看 68关注 0票数 0

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

所以现在,我有20辆公交车,分成4组。

总线0-4 -routed to - Mixer1

代码语言:javascript
运行
复制
AUGraphSetNodeInputCallback (processingGraph,mixer1Node,
                                                  input, //0-4
                                                  &inputCallbackStruct
                                                  );

总线5-9 -routed to - Mixer2

代码语言:javascript
运行
复制
AUGraphSetNodeInputCallback (processingGraph,mixer2Node,
                                                  input, //0-4
                                                  &inputCallbackStruct
                                                  );

公交车10-14 -routed to - Mixer3 ...

公交车15-19 -routed to - Mixer4 ...

现在,我的问题是,这些组中的每一个都达到了4 inBusNumber,在渲染回调中使用相同的数据。因此,旧的inBusNumber 5现在是Mixer2,具有与Mixer1总线相同的渲染数据。所有变量现在都与其他混音器的总线共享。

现在我复杂的渲染代码已经没用了……我需要每个总线上的独立变量。

有没有什么办法来处理它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-01 19:37:06

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

代码语言:javascript
运行
复制
 UInt32 element = (inputChannel<<16) | outputChannel;
 AudioUnitSetParameter(mixerMatrix, kMatrixMixerParam_Volume, kAudioUnitScope_Global, element, gain, 0);

使用此方法,所有总线都被路由到相同的混合器(MatrixMixer),并且我可以在呈现回调中共享变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42399520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档