MediaRecorderErrorEvent.error

The read-only error property in the MediaRecorderErrorEvent interface is a DOMException object providing details about the exception that was thrown by a MediaRecorder instance.

When a MediaRecorderErrorEvent occurs, you can determine to some extent what went wrong by examining the error property within the MediaRecorderErrorEvent received by the MediaRecorder's error event handler, onerror.

Syntax

error = MediaRecorderErrorEvent.error;

Value

A DOMException describing the error represented by the event. The error's name property's value may be any exception that makes sense during the handling of media recording, including these specifically identified by the specification. The descriptions here are generic ones; you'll find more specific ones to various scenarios in which they may occur in the corresponding method references.

InvalidStateError

An operation was attempted in a context in which it isn't allowed, or a request has been made on an object that's deleted or removed.

NotSupportedError

A MediaRecorder couldn't be created because the specified options weren't valid. The message atttribute should provide additional information, if it exists.

SecurityError

The MediaStream is configured to disallow recording. This may be the case, for example, with sources obtained using getUserMedia() when the user denies permission to use an input device.

InvalidModificationError

The number of tracks on the stream being recorded has changed. You can't add or remove tracks while recording media.

UnknownError

A non-security related error occurred that cannot otherwise be categorized. Recording stops, the MediaRecorder's state becomes inactive, one last dataavailable event is sent to the MediaRecorder with the remaining received data, and finally a stop event is sent.

Examples

Basic error-handling example

This function creates and returns a MediaRecorder for a given MediaStream, configured to buffer data into an array and to watch for errors.

function recordStream(stream) {
  let recorder = null;
  let bufferList = [];

  try {
    recorder = new MediaRecorder(stream);
  } catch(err) {
    /* exception while trying to create the recorder; handle that */
  }

  recorder.ondataavailable = function(event) {
    bufferList.push(event.data);
  };

  recorder.onerror = function(event) {
    let error = event.error;
  };

  recorder.start(100);  /* 100ms time slices per buffer */
  return recorder;
}

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
error
No
Uses a generic event with an error property.
No
Uses a generic event with an error property.
57
No
No
Uses a generic event with an error property.
14
No
No
Uses a generic event with an error property.
57
No
Uses a generic event with an error property.
14
No
Uses a generic event with an error property.

See also

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorderErrorEvent/error