MediaRecorder: requestData() method
The requestData()
method of the MediaRecorder
interface 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 "inactive", raise a DOMInvalidState
error and terminate these steps. IfMediaRecorder.state
is not "inactive", 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
js
requestData()
Parameters
None.
Return value
None (undefined
).
Exceptions
InvalidStateError
DOMException
-
Thrown if the
MediaRecorder
is currently"inactive"
; you cannot capture the recording if theMediaRecorder
is not active.
Examples
js
captureMedia.onclick = () => {
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
BCD tables only load in the browser
See also
- Using the MediaStream Recording 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()