MediaRecorder.requestData()
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.stateis "inactive", raise a DOMInvalidStateerror and terminate these steps. IfMediaRecorder.stateis not "inactive", continue to the next step. - Raise a
dataavailableevent containing aBlobof the currently captured data (the Blob is available under the event'sdataattribute.) - 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 |
|---|
| MediaStream Recording # dom-mediarecorder-requestdata |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
requestData |
49 |
79 |
25 |
No |
36 |
14 |
49 |
49 |
25 |
36 |
14 |
5.0 |
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
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/requestData