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:

  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

JavaScript
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

JavaScript
...

  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

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 47[2] 25.0 (25.0) Not supported Not supported Not supported
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support Not supported Not supported 25.0 (25.0) 1.3[1] Not supported Not supported Not supported Not supported

[1] The intial Firefox OS implementation only supported audio recording.

[2] To try this feature on Chrome, enable Experimental Web Platform features from chrome://flags . Currently only video is supported, not audio.

See also

License

© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/api/mediarecorder/requestdata

API Media Capture Media Recorder API MediaRecorder Method Reference requestData