MediaError: message property
The read-only property MediaError.message
returns a
human-readable string offering specific
diagnostic details related to the error described by the MediaError
object,
or an empty string (""
) if no diagnostic information can be determined or
provided.
Value
A string providing a detailed, specific explanation of what went
wrong and possibly how it might be fixed. This is not a generic description of
the MediaError.code
property's value, but instead goes deeper into the
specifics of this particular error and its circumstances. If no specific details are
available, this string is empty.
Examples
This example creates a <audio>
element, establishes an error handler
for it, then lets the user click buttons to choose whether to assign a valid audio file
or a missing file to the element's src
attribute. The error
handler outputs a message to a box onscreen describing the error, including both the
code
and the message
.
Only the relevant parts of the code are displayed; you can see the complete source code here.
The example creates an <audio>
element and lets the user assign either
a valid music file to it, or a link to a file which doesn't exist. This lets us see the
behavior of the error
event handler, which is received by an event handler
we add to the <audio>
element itself.
The error handler looks like this:
js
audioElement.onerror = () => {
let s = "";
const err = audioElement.error;
switch (err.code) {
case MediaError.MEDIA_ERR_ABORTED:
s += "The user canceled the audio.";
break;
case MediaError.MEDIA_ERR_NETWORK:
s += "A network error occurred while fetching the audio.";
break;
case MediaError.MEDIA_ERR_DECODE:
s += "An error occurred while decoding the audio.";
break;
case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:
s +=
"The audio is missing or is in a format not supported by your browser.";
break;
default:
s += "An unknown error occurred.";
break;
}
const message = err.message;
if (message?.length > 0) {
s += ` ${message}`;
}
displayErrorMessage(`<strong>Error ${err.code}:</strong> ${s}<br>`);
};
This gets the MediaError
object describing the error from the
error
property on the
HTMLAudioElement
representing the audio player. The error's
code
attribute is checked to determine a generic error
message to display, and, if message
is not empty, it's appended to provide
additional details. Then the resulting text is output to the log.
Result
You can try out this example below, and can see the example in action outside this page here.
Specifications
Specification |
---|
HTML Standard # dom-mediaerror-message-dev |
Browser compatibility
BCD tables only load in the browser
See also
MediaError
: Interface used to define theMediaError.message
property<audio>
,<video>