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:
MediaRecorder.state is not "recording", raise a DOM InvalidState error and terminate these steps. If MediaRecorder.state is "recording", continue to the next step.dataavailable event containing a Blob of the currently captured data (the Blob is available under the event's data attribute.)MediaRecorder.requestData()
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.
...
captureMedia.onclick = function() {
mediaRecorder.requestData();
// makes snapshot available of data so far
// ondataavailable fires, then capturing continues
// in new Blob
}
... | Specification | Status | Comment |
|---|---|---|
| MediaStream Recording The definition of 'MediaRecorder.requestData()' in that specification. | Working Draft | Initial definition |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 47
|
? | 25 | ? | ? | ? |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | ? | ? | ? | 25 | ? | ? | ? |
Navigator.getUserMedia
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/requestData