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

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes)
53 (53) No support


No support
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support No support 53.0 (53) No support No support No support (Yes)

Document Tags and Contributors

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