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
.
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. Themessage
attribute 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 usinggetUserMedia()
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
'sstate
becomesinactive
, one lastdataavailable
event is sent to theMediaRecorder
with the remaining received data, and finally astop
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
Specification |
---|
MediaStream Recording # dom-mediarecordererrorevent-error |
Browser compatibility
BCD tables only load in the browser