The Web Audio API's MediaStreamAudioSourceNode()
constructor creates and returns a new MediaStreamAudioSourceNode
object which uses the first audio track of a given MediaStream
as its source.
Note: Another way to create a MediaStreamAudioSourceNode
is to call theAudioContext.createMediaStreamSource()
method, specifying the stream from which you want to obtain audio.
Syntax
audioSourceNode = new MediaStreamAudioSourceNode(context, options);
Parameters
context
- An
AudioContext
representing the audio context you want the node to be associated with. options
-
A
MediaStreamAudioSourceOptions
object defining the properties you want theMediaStreamAudioSourceNode
to have:mediaStream
- A required property which specifies the
MediaStream
from which to obtain audio for the node.
Return value
A new MediaStreamAudioSourceNode
object representing the audio node whose media is obtained from the specified source stream.
Exceptions
InvalidStateError
- The specified
MediaStream
doesn't have any audio tracks.
Examples
This example uses getUserMedia()
to obtain access to the user's camera, then creates a new MediaStreamAudioSourceNode
from its MediaStream
.
// define variables var audioCtx = new (window.AudioContext || window.webkitAudioContext)(); // getUserMedia block - grab stream // put it into a MediaStreamAudioSourceNode if (navigator.mediaDevices.getUserMedia) { navigator.mediaDevices.getUserMedia ( // constraints: audio and video for this app { audio: true, video: false }).then(function(stream) { 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
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
MediaStreamAudioSourceNode() constructor | Chrome
Full support
55
| Edge Full support ≤79 | Firefox Full support 53 | IE No support No | Opera Full support 42 | Safari ? | WebView Android
Full support
55
| Chrome Android
Full support
55
| Firefox Android Full support 53 | Opera Android Full support 42 | Safari iOS ? | Samsung Internet Android
Full support
6.0
|
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- See implementation notes.
- See implementation notes.