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 occured: ' + 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

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
mediaStreamTrackChrome No support NoEdge No support NoFirefox Full support 68IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 68Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No


Full support  
Full support
No support  
No support