5
Web Audio APIを使用してカスタムパンコントロールを作成しようとしていますが、チャンネルスプリッタとマージャーノードを使用して正しいチャンネルから音が出ることはありません:Webオーディオ:右チャンネルに音声がありません
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/
私はChromeのv24.0.1312.57を使用しています。
これは素晴らしいソリューションです。私は結局何かが分からないことが判明しました。 – SquareFeet
しかし、私は、mono - > stereoからのup-mixingは、モノソースをステレオ目的地に接続するときに自動的に行われると考えました。ここでの仕様はあまり明確ではありません。http://www.w3.org/TR/webaudio/#UpMix オシレーターを宛先ノードに直接接続することを検討してください。サウンドはLチャンネルとRチャンネルの両方で再生され、自動アップミックス;私は私の質問のシナリオで同じことが起こると思っていたでしょう... – SquareFeet
一般に、アップミックスは自動的に起こります。ただし、スプリッタノードは信号を直接混乱させるためのもので、そうではありません。仕様から: '[AudioSplitterNode]には1つの入力と、入力オーディオストリームのチャンネル数に等しい数の「アクティブ」出力があります。 ... "アクティブ"でない出力は無音を出力し、通常は何にも接続されません。 – cwilso