MediaStreamTrackAudioSourceNode()
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
theAudioContext.createMediaStreamTrackSource()
method, specifying the
MediaStreamTrack
from which you want to obtain audio.
Syntax
audioTrackNode = new MediaStreamTrackAudioSourceNode(context, options);
Parameters
context
- An
AudioContext
representing the audio context you want the node to be associated with. options
-
A
MediaStreamTrackAudioSourceOptions
object defining the properties you want theMediaStreamTrackAudioSourceNode
to have:mediaStreamTrack
- The
MediaStreamTrack
from 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
NotSupportedError
- The specified
context
is not anAudioContext
. InvalidStateError
- The specified
MediaStreamTrack
isn't an audio track (that is, itskind
property 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.
let audioCtx = new (window.AudioContext || window.webkitAudioContext)();
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia (
{
audio: true,
video: false
}).then(function(stream) {
let options = {
mediaStreamTrack: stream.getAudioTracks()[0];
}
let source = new MediaStreamTrackAudioSourceNode(audioCtx, options);
source.connect(audioCtx.destination);
}).catch(function(err) {
console.log('The following gUM error occurred: ' + err);
});
} else {
console.log('new getUserMedia not supported on your browser!');
}
Specifications
Specification | Status | Comment |
---|---|---|
Unknown The definition of 'MediaStreamTrackAudioSourceNode()' in that specification. |
Working Draft |
Browser compatibility
BCD tables only load in the browser