インターフェースのcreateChannelSplitter()
メソッドは、オーディオストリームを個別に処理するためにチャンネルを分離するChannelSplitterNode
を生成します。
構文
var audioCtx = new AudioContext();
var splitter = audioCtx.createChannelSplitter(numberOfOutputs);
引数
- numberOfOutputs
- 入力オーディオストリームを分ける数。引数の指定がなければ6。
Returns
例
この例ではステレオトラックを分け、左右のチャンネルをそれぞれ別に処理する方法を示しています。これを使うためには、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 createChannelSplitter() の定義 |
草案 |
ブラウザ互換性
現在、互換性データを可読形式の JSON フォーマットに置き換えているところです。
この互換性一覧は古い形式を使っており、これに含まれるデータの置き換えが済んでいません。
手助けしていただける場合は、こちらから!
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 |