Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
MediaError: message-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
Die schreibgeschützte EigenschaftMediaError.message gibt einen menschenlesbaren String zurück, der spezifische diagnostische Details im Zusammenhang mit dem imMediaError-Objekt beschriebenen Fehler bietet, oder einen leeren String (""), wenn keine diagnostischen Informationen ermittelt oder bereitgestellt werden können.
In diesem Artikel
Wert
Ein String, der eine detaillierte, spezifische Erklärung dessen bietet, was schiefgelaufen ist und möglicherweise wie es behoben werden könnte. Dies istkeine generische Beschreibung des Wertes derMediaError.code-Eigenschaft, sondern geht näher auf die Einzelheiten dieses bestimmten Fehlers und seine Umstände ein. Wenn keine spezifischen Details verfügbar sind, ist dieser String leer.
Beispiele
>Protokollieren von MediaError-Nachrichten
Dieses Beispiel erstellt ein<audio>-Element, richtet einen Fehlerbehandler dafür ein und lässt den Benutzer Schaltflächen anklicken, um zu wählen, ob eine gültige Audiodatei oder eine fehlende Datei dersrc-Eigenschaft des Elements zugewiesen werden soll. Der Fehlerbehandler gibt Protokollzeilen in einem Kasten auf dem Bildschirm aus, die den Fehler beschreiben, einschließlich descode, dermessage und eines Hinweises, der für Besucher nützlicher sein könnte als die diagnostischemessage:
<audio controls></audio><div> <button>Valid file</button> <button>Missing file</button> <button>Wrong format</button></div><pre>Logs:</pre>pre { white-space: wrap; border: 1px solid grey;}Das Beispiel erstellt ein<audio>-Element und lässt den Benutzer eine entweder gültige Musikdatei oder einen Link zu einer Datei, die nicht existiert, zuweisen. Dies ermöglicht es uns, das Verhalten deserror-Ereignisbehandlers zu sehen, der von einem Ereignisbehandler empfangen wird, den wir dem<audio>-Element selbst hinzufügen.
Zuerst erhält er dasMediaError-Objekt, das den Fehler beschreibt, aus dererror-Eigenschaft desHTMLAudioElement, das den Audioplayer darstellt. Der numerischecode des Fehlers wird gegenMediaError-Konstanten überprüft, die zunächst undefiniert sind. Wennerr.code einer der Konstanten entspricht, erstellt er einen generischen Hinweis mit derMediaError.message, die zur Protokollzeile hinzugefügt wird, um detailliertere diagnostische Informationen für Entwickler bereitzustellen. Der resultierende Text wird dem<pre>-Element hinzugefügt:
const audioElement = document.getElementById("audio");const validButton = document.getElementById("valid-button");const invalidButton = document.getElementById("invalid-button");const svgButton = document.getElementById("svg-button");const logMessage = (logLine) => { const now = new Date(); const timestamp = now.toLocaleTimeString(); document.getElementById("log").innerText += `\n[${timestamp}] ${logLine}`;};validButton.addEventListener("click", () => { audioElement.src = "https://mdn.github.io/shared-assets/audio/guitar.mp3";});svgButton.addEventListener("click", () => { audioElement.src = "https://mdn.github.io/shared-assets/images/examples/dino.svg";});invalidButton.addEventListener("click", () => { audioElement.src = "no-file-here.mp3";});audioElement.onerror = () => { const err = audioElement.error; let userHint = ""; switch (err.code) { case MediaError.MEDIA_ERR_ABORTED: userHint = "Canceled audio playback."; break; case MediaError.MEDIA_ERR_NETWORK: userHint = "A network error occurred while fetching the audio."; break; case MediaError.MEDIA_ERR_DECODE: userHint = "An error occurred while decoding the audio."; break; case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED: userHint = "Audio is missing or is an unsupported format."; break; default: userHint += "An unknown error occurred."; break; } const message = err.message || "no message available"; logMessage(`Error code ${err.code} (${err.message}), ${userHint}`);};Klicken Sie auf die Schaltfläche "Gültige Datei", um die Wiedergabe wie erwartet zu starten, auf die Schaltfläche "Fehlende Datei", um zu versuchen, eine fehlende Ressource zu laden, und auf die Schaltfläche "Falsches Format", um zu versuchen, eine SVG-Datei als Quelle für das Audioelement festzulegen. Der Vergleich der Protokollausgabe für die beiden Fehlerfälle veranschaulicht den Unterschied zwischen demcode und dermessage einesMediaError:
Spezifikationen
| Specification |
|---|
| HTML> # dom-mediaerror-message-dev> |
Browser-Kompatibilität
Siehe auch
MediaError: Schnittstelle, die verwendet wird, um dieMediaError.message-Eigenschaft zu definieren<audio>,<video>