MediaStreamAudioSourceNode
MediaStreamAudioSourceNode
インターフェイスは AudioNode
の一種で、WebRTC またはメディアキャプチャとストリーム API で取得した MediaStream
から音声を取得する音源として働きます。
音声は、(getUserMedia()
経由の) マイクから得られたものも使用できますし、(RTCPeerConnection
の音声トラックを用いた) WebRTC による通話相手から受信したものも使用できます。
MediaStreamAudioSourceNode
は入力を持たず、出力をちょうど 1 個持ちます。また、AudioContext.createMediaStreamSource()
メソッドにより作成されます。
MediaStreamAudioSourceNode
は kind
属性の値が audio
である 最初の MediaStreamTrack
から音声を取得します。トラックの順番について詳しくはトラックの順序付けを参照してください。
このノードの出力のチャンネル数は、選択された音声トラックで見つかったトラックの数と一致します。
入力数 | 0 |
---|---|
出力数 | 1 |
チャンネル数 | 2 (ただし、AudioNode.channelCount は AudioNode の入力のアップミキシングおよびダウンミキシングにのみ用いられ、MediaStreamAudioSourceNode は入力を持ちません) |
コンストラクター
new MediaStreamAudioSourceNode()
-
指定したオプションを用いて新しい
MediaStreamAudioSourceNode
オブジェクトを作成します。
インスタンスプロパティ
以下のプロパティに加え、MediaStreamAudioSourceNode
は親の AudioNode
からプロパティを継承します。
mediaStream
読取専用-
この
MediaStreamAudioSourceNode
の生成時に用いられたMediaStream
です。
インスタンスメソッド
親の AudioNode
からメソッドを継承します。
例外
InvalidStateError
DOMException
-
引数
mediaStream
により指定されたストリームに音声トラックが無いとき投げられます。
使用時の注意
トラックの順序付け
MediaStreamTrackAudioSourceNode
インターフェイスでは、ストリーム内の音声トラックの順番は、kind
が audio
であるトラックを抽出し、抽出したトラックを id
プロパティの値のユニコードのコードポイント順 (本質的には、ID が単純なアルファベットからなる文字列のときはアルファベット順 (辞書順)) でソートすることで決定されます。
そして、最初の トラックとは、トラックの ID がユニコードのコードポイント順でソートされたとき id
が最初に来るトラックのことです。
しかし、重要な点として、この順序付けを確立するルールは、このインターフェイスが最初に Web Audio API に追加されてからだいぶ後に追加されました。そのため、この順序付けがどの 2 種類のブラウザーやブラウザーのバージョンでも同じになるとして簡単に依存することはできません。
MediaStreamTrackAudioSourceNode
(en-US) インターフェイスは MediaStreamAudioSourceNode
に似ていますが、使用するトラックを指定できるようにすることでこの問題を回避しています。
例
このオブジェクトを使用するコードの例は、AudioContext.createMediaStreamSource()
を参照してください。
仕様書
Specification |
---|
Web Audio API # MediaStreamAudioSourceNode |
ブラウザーの互換性
BCD tables only load in the browser