MediaStreamTrackAudioSourceNode: MediaStreamTrackAudioSourceNode() コンストラクター
Web Audio API の MediaStreamTrackAudioSourceNode()
コンストラクターは、オプションオブジェクトで指定された MediaStreamTrack
から音声を取得する新しい MediaStreamTrackAudioSourceNode
オブジェクトを生成して返します。
MediaStreamTrackAudioSourceNode
を生成する別の方法は、音声の取得元とする MediaStreamTrack
を指定して AudioContext.createMediaStreamTrackSource()
メソッドを呼び出すことです。
構文
js
new MediaStreamTrackAudioSourceNode(context, options)
引数
context
-
このノードを関連付ける音声コンテキストを表す
AudioContext
です。 options
-
MediaStreamTrackAudioSourceNode
に持たせる性質を定義するオブジェクトです。mediaStreamTrack
-
このノードの出力とする音声のデータの取得元とする
MediaStreamTrack
です。
返値
メディアを指定のメディアトラックから取得する音声ノードを表す新しい MediaStreamTrackAudioSourceNode
オブジェクトです。
例外
NotSupportedError
DOMException
-
指定の
context
がAudioContext
でないとき投げられます。 InvalidStateError
DOMException
-
指定の
MediaStreamTrack
が音声トラックでない (すなわち、kind
プロパティがaudio
でない) とき投げられます。
例
この例では、getUserMedia()
を用いてユーザーのカメラにアクセスし、そのデバイスが提供する最初の音声トラックから新しい MediaStreamAudioSourceNode
を生成します。
js
const audioCtx = new AudioContext();
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices
.getUserMedia({
audio: true,
video: false,
})
.then((stream) => {
const options = {
mediaStreamTrack: stream.getAudioTracks()[0],
};
const source = new MediaStreamTrackAudioSourceNode(audioCtx, options);
source.connect(audioCtx.destination);
})
.catch((err) => {
console.error(`以下の gUM エラーが発生しました: ${err}`);
});
} else {
console.log("このブラウザーは新しい getUserMedia に対応していません!");
}
仕様書
Specification |
---|
Web Audio API # dom-mediastreamtrackaudiosourcenode-mediastreamtrackaudiosourcenode |
ブラウザーの互換性
BCD tables only load in the browser