Web/API/MediaRecorder/requestData

From Get docs

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:

  1. If MediaRecorder.state is not "recording", raise a DOM InvalidState error and terminate these steps. If MediaRecorder.state is "recording", continue to the next step.
  2. Raise a dataavailable event containing a Blob of the currently captured data (the Blob is available under the event's data attribute.)
  3. 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 RecordingThe definition of 'MediaRecorder.requestData()' in that specification. Working Draft Initial definition

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
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