当连接到合并节点时,如果输入不是通道分离器,是否有任何理由使用 0 以外的数字作为第二个参数

When connecting to a merger node is there any reason to use a number other than 0 as the second argument if the input is not channel splitter

我了解到,当您将拆分器连接到合并器时,您可以执行以下操作:

splitter.connect(merger, 1, 0);

但是当将立体声缓冲源等输入源直接连接到合并器时,是否有任何理由曾经将连接方法的第二个参数设置为零以外的值?我假设答案是否定的,但我不确定并正在寻找验证。

var stereoSoundSource = audioContext.createBufferSource();
stereoSoundSource.buffer = whatever;
stereoSoundSource.connect(merger, 0, 1); 

简而言之,没有。

Splitter 是目前唯一具有多个输出的节点,因此它是唯一需要为其指定非 0 输出的节点。

种情况下,您可以使用拆分器执行此操作。例如,假设如何创建翻转立体声通道的图形:

var merger = context.createMerger(2);
var splitter = context.createSplitter(2);

splitter.connect(merger,0,1);
splitter.connect(merger,1,0);

将来,其他一些节点可能会获得其他输出(例如,我建议在噪声 gate/expander 节点中使用单独的输出作为包络),然后可能会有其他情况(和这个答案会改变)。