The MediaStreamTrackAudioSourceOptions dictionary's mediaStreamTrack property must contain a reference to the MediaStreamTrack from which the MediaStreamTrackAudioSourceNode being created using the MediaStreamTrackAudioSourceNode() constructor.


mediaStreamTrackAudioSourceOptions = {
  mediaStreamTrack: audioSourceTrack;

mediaStreamTrackAudioSourceOptions.mediaStreamTrack = audioSourceTrack;


A MediaStreamTrack from which the audio output of the new MediaStreamTrackAudioSourceNode will be taken.


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);
    }).catch(function(err) {
      console.log('The following gUM error occurred: ' + err);
} else {
  console.log('new getUserMedia not supported on your browser!');


Specification Status Comment
Web Audio API
The definition of 'MediaStreamTrackAudioSourceOptions.mediaStream' in that specification.
Working Draft

Browser compatibility

BCD tables only load in the browser