5

Web Audio APIを使用してカスタムパンコントロールを作成しようとしていますが、チャンネルスプリッターとマージノードを使用して正しいチャンネルからサウンドを出すことができません。

var context = new webkitAudioContext(),
    destination = context.destination,
    osc = context.createOscillator(),
    gainL = context.createGainNode(),
    gainR = context.createGainNode(),
    splitter = context.createChannelSplitter(2),
    merger = context.createChannelMerger(2);

osc.frequency.value = 500;

osc.connect(splitter);

splitter.connect(gainL, 0);
splitter.connect(gainR, 1);

gainL.connect(merger, 0, 0);
gainR.connect(merger, 0, 1);

osc.noteOn(0);

gainL.gain.value = 0.1;
gainR.gain.value = 0.5;

osc.noteOff(2);

merger.connect(destination);

ここで明らかな何かが欠けていますか?上記のコードのJSBinプレビューがここにあります:http://jsbin.com/ayijoy/1/

念のため、Chromev24.0.1312.57を実行しています。

4

1 に答える 1

2

私の推測では、これはオシレーターがモノラル信号を出力するために発生します。ステレオソースを使用してみてください。おそらくもっと運がいいはずです。

編集:「モノラル」信号をパンする方法は次のとおりです(分割するステレオ信号がないため、スプリッターをバイパスし、オシレーターを2つのゲインに直接接続します。次に、ゲインを調整した後、2つのモノラル信号をマージに接続します。各チャンネル)http://jsbin.com/ayijoy/16/

于 2013-02-18T11:10:21.553 に答える