The MediaStreamAudioSourceNode() constructor of the Web Audio API creates a new MediaStreamAudioSourceNode object instance.


var myAudioSource = new MediaStreamAudioSourceNode(context, options);


Inherits parameters from the AudioNodeOptions dictionary.

An AudioContext representing the audio context you want the node to be associated with.
A MediaStreamAudioSourceOptions dictionary object defining the properties you want the MediaStreamAudioSourceNode to have:
  • mediaStream: The media stream that will be used as the source for the audio.

Return value

A new MediaStreamAudioSourceNode object instance.


// define variables
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();

// getUserMedia block - grab stream
// put it into a MediaStreamAudioSourceNode
if (navigator.mediaDevices.getUserMedia) {
   console.log('new getUserMedia supported.');
   navigator.mediaDevices.getUserMedia (
      // constraints: audio and video for this app
         audio: true,
         video: false
     }).then(function(stream) {

       // Create a MediaStreamAudioSourceNode
       var options = {
         mediaStream : stream

       var source = new MediaStreamAudioSourceNode(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 'MediaStreamAudioSourceNode' in that specification.
Working Draft  

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support551 ?53 No42 ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support551551 ?5342 ?6.0

1. Before Chrome 59, the default values were not supported.

Document Tags and Contributors

Contributors to this page: fscholz, chrisdavidmills
Last updated by: fscholz,