AudioContext.createChannelMerger()

AudioContextインターフェースのcreateChannelMerger()メソッドは、複数のオーディオストリームを1つに混合するChannelMergerNodeを生成します。

構文

var audioCtx = new AudioContext();
var merger = audioCtx.createChannelMerger(numberOfInputs);

引数

numberOfInputs
入力オーディオストリームのチャンネルの数。指定がない場合は6になる。

戻り値

ChannelMergerNode

この例ではステレオトラックを分け、左右のチャンネルをそれぞれ別に処理する方法を示しています。これを使うためには、AudioNode.connect(AudioNode)メソッドの2番目と3番目の引数を使い、接続元と接続先のチャンネルの番号を指定する必要があります。

var ac = new AudioContext();
ac.decodeAudioData(someStereoBuffer, function(data) {
 var source = ac.createBufferSource();
 source.buffer = data;
 var splitter = ac.createChannelSplitter(2);
 source.connect(splitter);
 var merger = ac.createChannelMerger(2);

 // 左チャンネルのボリュームのみ小さくする
 var gain = ac.createGain();
 gain.value = 0.5;
 splitter.connect(gain, 0);

 // splitterをmergerの2番目の入力にして戻す
 // ここではチャンネルを入れ替えることで、ステレオ音声の左右を逆にしている
 gain.connect(merger, 0, 1);
 splitter.connect(merger, 1, 0);

 var dest = ac.createMediaStreamDestination();

 // ChannelMergerNodeを使ったのでステレオのMediaStreamとなった
 // webオーディオグラフのWebRTCやMediaRecorderなどに渡す
 merger.connect(dest);
});

仕様

Specification Status Comment
Web Audio API
createChannelMerger() の定義
草案  

ブラウザ互換性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 10.0webkit 25.0 (25.0)  未サポート 15.0webkit
22 (unprefixed)
6.0webkit
Feature Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support ? 26.0 1.2 ? ? ? 33.0

参照

ドキュメントのタグと貢献者

このページの貢献者: maruhiro
最終更新者: maruhiro,