The MediaRecorder.stop()
method (part of the MediaRecorder API) is used to stop media capture.
When the stop()
method is invoked, the UA queues a task that runs the following steps:
- If
MediaRecorder.state
is "inactive", raise a DOMInvalidState
error and terminate these steps. If theMediaRecorder.state
is not "inactive", continue on to the next step. - Set the
MediaRecorder.state
to "inactive" and stop capturing media. - Raise a
dataavailable
event containing the Blob of data that has been gathered. - Raise a
stop
event.
Syntax
MediaRecorder.stop()
Errors
An InvalidState
error is raised if the stop()
method is called while the MediaRecorder
object’s MediaRecorder.state
is "inactive" — it makes no sense to stop media capture if it is already stopped.
Example
... stop.onclick = function() { mediaRecorder.stop(); console.log("recorder stopped, data available"); } ...
Specifications
Specification | Status | Comment |
---|---|---|
MediaStream Recording The definition of 'MediaRecorder.stop()' 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
- 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