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 からメソッドを継承します。
例外
InvalidStateErrorDOMException-
引数
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