MediaStreamAudioSourceNode

Baseline Widely available

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

MediaStreamAudioSourceNode インターフェイスは AudioNode の一種で、WebRTC またはメディアキャプチャとストリーム API で取得した MediaStream から音声を取得する音源として働きます。

音声は、(getUserMedia() 経由の) マイクから得られたものも使用できますし、(RTCPeerConnection の音声トラックを用いた) WebRTC による通話相手から受信したものも使用できます。

MediaStreamAudioSourceNode は入力を持たず、出力をちょうど 1 個持ちます。また、AudioContext.createMediaStreamSource() メソッドにより作成されます。

MediaStreamAudioSourceNodekind 属性の値が audio である 最初の MediaStreamTrack から音声を取得します。トラックの順番について詳しくはトラックの順序付けを参照してください。

このノードの出力のチャンネル数は、選択された音声トラックで見つかったトラックの数と一致します。

EventTarget AudioNode MediaStreamAudioSourceNode
入力数 0
出力数 1
チャンネル数 2 (ただし、AudioNode.channelCountAudioNode の入力のアップミキシングおよびダウンミキシングにのみ用いられ、MediaStreamAudioSourceNode は入力を持ちません)

コンストラクター

new MediaStreamAudioSourceNode()

指定したオプションを用いて新しい MediaStreamAudioSourceNode オブジェクトを作成します。

インスタンスプロパティ

以下のプロパティに加え、MediaStreamAudioSourceNode は親の AudioNode からプロパティを継承します。

mediaStream 読取専用

この MediaStreamAudioSourceNode の生成時に用いられた MediaStream です。

インスタンスメソッド

親の AudioNode からメソッドを継承します。

例外

InvalidStateError DOMException

引数 mediaStream により指定されたストリームに音声トラックが無いとき投げられます。

使用時の注意

トラックの順序付け

MediaStreamTrackAudioSourceNode インターフェイスでは、ストリーム内の音声トラックの順番は、kindaudio であるトラックを抽出し、抽出したトラックを id プロパティの値の Unicode のコードポイント順 (本質的には、ID が単純なアルファベットからなる文字列のときはアルファベット順 (辞書順)) でソートすることで決定されます。

そして、最初の トラックとは、トラックの ID が Unicode のコードポイント順でソートされたとき id が最初に来るトラックのことです。

しかし、重要な点として、この順序付けを確立するルールは、このインターフェイスが最初に Web Audio API に追加されてからだいぶ後に追加されました。そのため、この順序付けがどの 2 種類のブラウザーやブラウザーのバージョンでも同じになるとして簡単に依存することはできません。

MediaStreamTrackAudioSourceNode インターフェイスは MediaStreamAudioSourceNode に似ていますが、使用するトラックを指定できるようにすることでこの問題を回避しています。

このオブジェクトを使用するコードの例は、AudioContext.createMediaStreamSource() を参照してください。

仕様書

Specification
Web Audio API
# MediaStreamAudioSourceNode

ブラウザーの互換性

BCD tables only load in the browser

関連情報