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. Themessage
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 usinggetUserMedia()
when the user denies permission to use an input device. This also happens when aMediaStreamTrack
within the stream is marked asisolated
due to thepeerIdentity
constraint on the source stream. 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 | Status | Comment |
---|---|---|
MediaStream RecordingThe definition of 'MediaRecorderErrorEvent.error' in that specification. | Working Draft | Initial specification. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
error
|
Chrome No support No No support No Notes' Uses a generic event with an |
Edge No support No No support No Notes' Uses a generic event with an |
Firefox
Full support 57 |
IE
No support No |
Opera No support No No support No Notes' Uses a generic event with an |
Safari
No support No |
WebView Android
No support No |
Chrome Android No support No No support No Notes' Uses a generic event with an |
Firefox Android
Full support 57 |
Opera Android No support No No support No Notes' Uses a generic event with an |
Safari iOS
No support No |
Samsung Internet Android No support No No support No Notes' Uses a generic event with an |
Legend
- Full support
- Full support
- No support
- No support
- See implementation notes.'
- See implementation notes.
See also
MediaRecorderErrorEvent.error by Mozilla Contributors is licensed under CC-BY-SA 2.5.