Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
TrackEvent
DasTrackEvent Interface derHTML DOM API wird für Ereignisse verwendet, die Änderungen an einem Satz verfügbarer Tracks auf einem HTML-Medienelement darstellen; diese Ereignisse sindaddtrack undremovetrack.
Es ist wichtig,TrackEvent nicht mit demRTCTrackEvent Interface zu verwechseln, das für Tracks verwendet wird, die Teil einerRTCPeerConnection sind.
Ereignisse, die aufTrackEvent basieren, werden immer an eine der Medientrack-Listenarten gesendet:
- Ereignisse, die Video-Tracks betreffen, werden immer an die
VideoTrackListgesendet, die inHTMLMediaElement.videoTracksgefunden wird. - Ereignisse, die Audio-Tracks betreffen, werden immer an die
AudioTrackListgesendet, die inHTMLMediaElement.audioTracksangegeben ist. - Ereignisse, die Text-Tracks betreffen, werden an das
TextTrackListObjekt gesendet, das durchHTMLMediaElement.textTracksangezeigt wird.
In diesem Artikel
Konstruktor
TrackEvent()Erstellt und initialisiert ein neues
TrackEventObjekt mit dem angegebenen Ereignistyp sowie optionalen zusätzlichen Eigenschaften.
Instanz-Eigenschaften
TrackEvent basiert aufEvent, daher stehen die Eigenschaften vonEvent auch aufTrackEvent Objekten zur Verfügung.
trackSchreibgeschütztDas DOM-Track-Objekt, auf das sich das Ereignis bezieht. Wenn es nicht
nullist, handelt es sich immer um ein Objekt eines der Medientrack-Typen:AudioTrack,VideoTrackoderTextTrack.
Instanz-Methoden
TrackEvent hat keine eigenen Methoden; es basiert jedoch aufEvent, sodass es die Methoden bietet, die aufEvent Objekten verfügbar sind.
Beispiel
Dieses Beispiel richtet eine FunktionhandleTrackEvent() ein, die für jedesaddtrack oderremovetrack Ereignis auf das erste<video> Element im Dokument aufgerufen wird.
const videoElem = document.querySelector("video");videoElem.videoTracks.addEventListener("addtrack", handleTrackEvent);videoElem.videoTracks.addEventListener("removetrack", handleTrackEvent);videoElem.audioTracks.addEventListener("addtrack", handleTrackEvent);videoElem.audioTracks.addEventListener("removetrack", handleTrackEvent);videoElem.textTracks.addEventListener("addtrack", handleTrackEvent);videoElem.textTracks.addEventListener("removetrack", handleTrackEvent);function handleTrackEvent(event) { let trackKind; if (event.target instanceof VideoTrackList) { trackKind = "video"; } else if (event.target instanceof AudioTrackList) { trackKind = "audio"; } else if (event.target instanceof TextTrackList) { trackKind = "text"; } else { trackKind = "unknown"; } switch (event.type) { case "addtrack": console.log(`Added a ${trackKind} track`); break; case "removetrack": console.log(`Removed a ${trackKind} track`); break; }}Der Ereignis-Handler verwendet den JavaScriptinstanceof Operator, um festzustellen, auf welchem Typ Track das Ereignis aufgetreten ist, und gibt dann eine Meldung an die Konsole aus, die angibt, um welche Art von Track es sich handelt und ob es dem Element hinzugefügt oder daraus entfernt wird.
Spezifikationen
| Specification |
|---|
| HTML> # the-trackevent-interface> |