MediaRecorder: error event
The error
event of the MediaRecorder
interface is fired when an error occurs: for example because recording wasn't allowed or was attempted using an unsupported codec.
This event is not cancelable and does not bubble.
Syntax
Use the event name in methods like addEventListener()
, or set an event handler property.
addEventListener("event", (event) => {});
onevent = (event) => {};
Event type
A MediaRecorderErrorEvent
. Inherits from Event
.
Event properties
Inherits properties from its parent interface, Event
.
error
Read only-
A
DOMException
containing information about the error that occurred.
Description
Trigger
A function to be called whenever an error occurs during the recorder's lifetime. In
addition to other general errors that might occur, the following errors are specifically
possible when using the MediaStream Recording API; to determine which occurred, check
the value of MediaRecorderErrorEvent.error.name
.
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
-
An 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
Using addEventListener()
to listen for error
events:
async function record() {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
const recorder = new MediaRecorder(stream);
recorder.addEventListener("error", (event) => {
console.error(`error recording stream: ${event.error.name}`);
});
recorder.start();
}
record();
The same, but using the onerror
event handler property:
async function record() {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
const recorder = new MediaRecorder(stream);
recorder.onerror = (event) => {
console.error(`error recording stream: ${event.error.name}`);
};
recorder.start();
}
record();
Specifications
Specification |
---|
MediaStream Recording # dom-mediarecorder-onerror |
Browser compatibility
BCD tables only load in the browser