We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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 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,