MediaRecorder: stop() method
  The MediaRecorder.stop() method
  (part of the MediaStream Recording 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.stateis "inactive", raise a DOMInvalidStateerror and terminate these steps. If theMediaRecorder.stateis not "inactive", continue on to the next step.
- Set the MediaRecorder.stateto "inactive" and stop capturing media.
- 
    Raise a dataavailableevent containing the Blob of data that has been gathered.
- Raise a stopevent.
Syntax
js
stop()
Parameters
None.
Return value
None (undefined).
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.
Examples
js
stop.onclick = () => {
  mediaRecorder.stop();
  console.log("recorder stopped, data available");
};
Specifications
| Specification | 
|---|
| MediaStream Recording # dom-mediarecorder-stop | 
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