MediaStreamAudioSourceNode.MediaStreamAudioSourceNode()

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

Syntax

var myAudioSource = new MediaStreamAudioSourceNode(context, options);

Parameters

Inherits parameters from the AudioNodeOptions dictionary.

context
An AudioContext representing the audio context you want the node to be associated with.
options
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.

Example

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

Specifications

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 AndroidIE mobileOpera AndroidiOS Safari
Basic support551551 ?53 No42 ?

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

Document Tags and Contributors

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