← 返回首页
BaseAudioContext: createChannelMerger() メソッド - Web API | MDN

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

BaseAudioContext: createChannelMerger() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2021年4月.

createChannelMerger() は BaseAudioContext インターフェイスのメソッドで、 ChannelMergerNode を作成します。これは複数の音声ストリームのチャンネルを一つの音声ストリームに結合します。

メモ: ChannelMergerNode() コンストラクターは ChannelMergerNode を作成するための推奨される方法です。 AudioNode の作成を参照してください。

In this article

構文

js
createChannelMerger(numberOfInputs)

引数

numberOfInputs

出力ストリームに含まれる、入力オーディオストリームのチャンネル数です。この引数が指定されていない場合の既定値は 6 です。

返値

ChannelMergerNode です。

次の例では、ステレオトラック(例えば音楽)を分離し、左チャンネルと右チャンネルを別々に処理する方法を示しています。これを使うには、 AudioNode.connect(AudioNode) メソッドの第 2、第 3 引数を使って、接続元のチャンネルのインデックスと接続先のチャンネルのインデックスの両方を指定することが必要です。

js
const ac = new AudioContext(); ac.decodeAudioData(someStereoBuffer, (data) => { const source = ac.createBufferSource(); source.buffer = data; const splitter = ac.createChannelSplitter(2); source.connect(splitter); const merger = ac.createChannelMerger(2); // 左チャンネルのボリュームのみ小さくする const gainNode = ac.createGain(); gainNode.gain.setValueAtTime(0.5, ac.currentTime); splitter.connect(gainNode, 0); // スプリッターをマージャーの 2 番目の入力に接続すると、チャンネルが効果的に交換され、 // ステレオイメージが反転します。 gainNode.connect(merger, 0, 1); splitter.connect(merger, 1, 0); const dest = ac.createMediaStreamDestination(); // ChannelMergerNode を使っているので、ステレオの MediaStream が // できました。これでウェブオーディオグラフを WebRTC や MediaRecorder などに // パイプするのに使えます。 merger.connect(dest); });

仕様書

Specification
Web Audio API
# dom-baseaudiocontext-createchannelmerger

ブラウザーの互換性

Enable JavaScript to view this browser compatibility table.

関連情報