Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

MediaStreamTrack: ended-Ereignis

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2017 browserübergreifend verfügbar.

Das ended-Ereignis der MediaStreamTrack-Schnittstelle wird ausgelöst, wenn die Wiedergabe oder das Streaming beendet wurde, weil das Ende des Mediums erreicht wurde oder keine weiteren Daten verfügbar sind.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht nach oben weitergereicht.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

js
addEventListener("ended", (event) => { })

Alternativ können Sie die Event-Handler-Eigenschaft der Schnittstelle verwenden:

js
onended = (event) => { }

Ereignistyp

Ein generisches Event.

Hinweise zur Verwendung

ended-Ereignisse werden ausgelöst, wenn die Quelle des Media-Stream-Tracks dauerhaft aufhört, Daten über den Stream zu senden. Dafür gibt es verschiedene mögliche Ursachen:

  • Es sind keine weiteren Daten zum Senden vorhanden.
  • Der Benutzer hat die zum Senden der Daten erforderlichen Berechtigungen widerrufen.
  • Die Hardware, die die Quelldaten erzeugt, wurde entfernt oder ausgeworfen.
  • Ein entfernter Peer hat dauerhaft aufgehört, Daten zu senden.
  • Der einzige Fall, in dem der Track endet, ohne dass das ended-Ereignis ausgelöst wird, ist ein Aufruf von MediaStreamTrack.stop.

Das Pausieren von Medien löst kein ended-Ereignis aus.

Beispiele

In diesem Beispiel wird ein Event-Handler für das ended-Ereignis eingerichtet, der ein Symbol auf dem Bildschirm ändert, um anzuzeigen, dass der Track nicht mehr aktiv ist.

js
track.addEventListener("ended", () => {
  let statusElem = document.getElementById("status-icon");
  statusElem.src = "/images/stopped-icon.png";
});

Sie können den Event-Handler auch über die onended-Eigenschaft einrichten. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onended hinzugefügte Event-Listener ersetzt werden:

js
track.onended = () => {
  let statusElem = document.getElementById("status-icon");

  statusElem.src = "/images/stopped-icon.png";
};

Spezifikationen

Spezifikation
Media Capture and Streams
# dom-mediastreamtrack-onended

Browser-Kompatibilität

Siehe auch