The MediaRecorder.requestData()
method (part of the MediaRecorder API) is used to raise a dataavailable
event containing a Blob
object of the captured media as it was when the method was called. This can then be grabbed and manipulated as you wish.
When the requestData()
method is invoked, the browser queues a task that runs the following steps:
- If
MediaRecorder.state
is not "recording", raise a DOMInvalidState
error and terminate these steps. IfMediaRecorder.state
is "recording", continue to the next step. - Raise a
dataavailable
event containing aBlob
of the currently captured data (the Blob is available under the event'sdata
attribute.) - Create a new Blob and place subsequently captured data into it.
Syntax
MediaRecorder.requestData()
Errors
An InvalidState
error is raised if the requestData()
method is called while the MediaRecorder
object’s MediaRecorder.state
is not "recording" — the media cannot be captured if recording is not occurring.
Example
... captureMedia.onclick = function() { mediaRecorder.requestData(); // makes snapshot available of data so far // ondataavailable fires, then capturing continues // in new Blob } ...
Specifications
Specification | Status | Comment |
---|---|---|
MediaStream Recording The definition of 'MediaRecorder.requestData()' in that specification. |
Working Draft | Initial definition |
Browser compatibility
The compatibility table in 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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
requestData | Chrome Full support 49 | Edge Full support 79 | Firefox Full support 25 | IE No support No | Opera Full support 36 | Safari No support No | WebView Android Full support 49 | Chrome Android Full support 49 | Firefox Android Full support 25 | Opera Android Full support 36 | Safari iOS No support No | Samsung Internet Android Full support 5.0 |
Legend
- Full support
- Full support
- No support
- No support
See also
- Using the MediaRecorder API
- Web Dictaphone: MediaRecorder + getUserMedia + Web Audio API visualization demo, by Chris Mills (source on Github.)
- simpl.info MediaStream Recording demo, by Sam Dutton.
Navigator.getUserMedia