我试图只在环绕声通道中播放音频,但是好像我每次连接到特定通道时,它也会播放其他通道

我的设置和audioContext.destination配置为4个通道

var merger = context.createChannelMerger(4);
audio.connect(merger, 0, 2);
audio.connect(merger, 0, 3);
merger.connect(context.destination);


我的音频是立体声的(但我只关心一个声道),所以我也尝试先将其拆分

var merger = context.createChannelMerger(4),
    splitter = context.createChannelSplitter(2);
audio.connect(splitter);
splitter.connect(merger, 0, 2);
splitter.connect(merger, 0, 3);
merger.connect(context.destination);


奇怪的是,如果我仅将其连接到左/右声道,它将按预期播放。

我在Windows 10上运行Chrome 45

最佳答案

我认为您将拆分器错误地连接到合并。你可能想要
splitter.connect(merger, 0, 2);splitter.connect(merger, 1, 3);
然后,立体声源将被分离并发送到输出的声道2和3。

10-06 12:27