MDN’s new design is in Beta! A sneak peek:


The MediaStreamAudioSourceNode() constructor creates a new MediaStreamAudioSourceNode object instance.


var myAudioSource = new MediaStreamAudioSourceNode(context, options);


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.


// 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)
No support No support


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

Document Tags and Contributors

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