ChannelMergerNode

ChannelMergerNodeインタフェースは、反対の機能のChannelSplitterNodeと組み合わせて使用されることが多く、さまざまなモノラル入力を単一の出力に再結合します。 各入力は、出力のチャンネルを埋めるために使用されます。 これは各チャンネルに別々にアクセスするのに便利です、つまり 各チャンネルでゲインを別々に制御する必要がある場合にミキシングするのに有効です。

もしChannelMergerNodeに単一の出力があるが、マージするチャンネルと同じ数の入力がある場合、入力数はそのコンストラクタのパラメータおよびAudioContext.createChannelMergerの呼び出しとして定義されます。 値が指定されていない場合は、デフォルトの6になります。

ChannelMergerNodeを使用すると、レンダリングハードウェアが処理できるよりも多くのチャンネルで出力を作成することが可能です。 その場合、シグナルがAudioContext.listener オブジェクトに送信されると、余分なチャンネルは無視されます。

入力数 variable; default to 6.
出力数 1
チャンネルカウントモード "max"
チャンネルカウント 2 (デフォルトのカウントモードでは使用されません)
チャンネル判別 "speakers"

Constructor

ChannelMergerNode()
新しいChannelMergerNodeオブジェクトインスタンスを作成します。

Properties

特定のプロパティはありません。 親であるAudioNodeからプロパティを継承しています。

Methods

特定のメソッドはありません。 親であるAudioNodeからメソッドを継承しています。

Example

The following example shows how you could separate a stereo track (say, a piece of music), and process the left and right channel differently. To use them, you need to use the second and third parameters of the AudioNode.connect(AudioNode) method, which allow you to specify both the index of the channel to connect from and the index of the channel to connect to.

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);

 // Reduce the volume of the left channel only
 var gainNode = ac.createGain();
 gainNode.gain.setValueAtTime(0.5, ac.currentTime);
 splitter.connect(gainNode, 0);

 // Connect the splitter back to the second input of the merger: we
 // effectively swap the channels, here, reversing the stereo image.
 gainNode.connect(merger, 0, 1);
 splitter.connect(merger, 1, 0);

 var dest = ac.createMediaStreamDestination();

 // Because we have used a ChannelMergerNode, we now have a stereo
 // MediaStream we can use to pipe the Web Audio graph to WebRTC,
 // MediaRecorder, etc.
 merger.connect(dest);
});

Specifications

Specification Status Comment
Web Audio API
ChannelMergerNode の定義
草案  

Browser compatibility

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
ChannelMergerNodeChrome 完全対応 14Edge 完全対応 ありFirefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
ChannelMergerNode() constructorChrome 完全対応 55Edge ? Firefox 完全対応 53IE 未対応 なしOpera 完全対応 42Safari ? WebView Android 完全対応 55Chrome Android 完全対応 55Firefox Android 完全対応 53Opera Android 完全対応 42Safari iOS ? Samsung Internet Android 完全対応 6.0

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明

See also