MediaStreamTrackAudioSourceNode: MediaStreamTrackAudioSourceNode() constructor
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The Web Audio API's MediaStreamTrackAudioSourceNode() constructor creates and returns a new MediaStreamTrackAudioSourceNode object whose audio is taken from the MediaStreamTrack specified in the given options object.
Another way to create a MediaStreamTrackAudioSourceNode is to call the AudioContext.createMediaStreamTrackSource() method, specifying the MediaStreamTrack from which you want to obtain audio.
Syntax
new MediaStreamTrackAudioSourceNode(context, options)
Parameters
context-
An
AudioContextrepresenting the audio context you want the node to be associated with. options-
An object defining the properties you want the
MediaStreamTrackAudioSourceNodeto have:mediaStreamTrack-
The
MediaStreamTrackfrom which to take audio data for this node's output.
Return value
A new MediaStreamTrackAudioSourceNode object representing the audio node whose media is obtained from the specified media track.
Exceptions
NotSupportedErrorDOMException-
Thrown if the specified
contextis not anAudioContext. InvalidStateErrorDOMException-
Thrown if the specified
MediaStreamTrackisn't an audio track (that is, itskindproperty isn'taudio.
Example
This example uses getUserMedia() to obtain access to the user's camera, then creates a new MediaStreamAudioSourceNode from the first audio track provided by the device.
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(`The following gUM error occurred: ${err}`);
});
} else {
console.log("new getUserMedia not supported on your browser!");
}
Specifications
| Specification |
|---|
| Web Audio API> # dom-mediastreamtrackaudiosourcenode-mediastreamtrackaudiosourcenode> |