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 occured: ' + err); }); } else { console.log('new getUserMedia not supported on your browser!'); }
Specifications
Specification | Status | Comment |
---|---|---|
Web Audio API The definition of 'MediaStreamTrackAudioSourceNode()' in that specification. |
Working Draft |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
MediaStreamTrackAudioSourceNode() constructor | Chrome No support No | Edge No support No | Firefox
Full support
68
| IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android
Full support
68
| Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
Legend
- Full support
- Full support
- No support
- No support
- See implementation notes.
- See implementation notes.