<track>: Das eingebettete Text-Track-Element
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Das <track>
-Element HTML wird als Kind der Media-Elemente <audio>
und <video>
verwendet.
Jedes Track-Element lässt Sie eine zeitgesteuerte Textspur (oder zeitbasierte Daten) angeben, die parallel zu dem Media-Element angezeigt werden kann, um beispielsweise Untertitel oder geschlossene Untertitel über ein Video oder neben Audiospuren einzublenden.
Mehrere Tracks können für ein Media-Element angegeben werden, die verschiedene Arten von zeitgesteuerten Textdaten enthalten, oder zeitgesteuerte Textdaten, die für verschiedene Sprachen übersetzt wurden. Die verwendeten Daten sind entweder der Track, der als Standard festgelegt wurde, oder eine Art und Übersetzung basierend auf den Benutzervorlieben.
Die Tracks sind im WebVTT-Format (.vtt
-Dateien) formatiert — Web Video Text Tracks.
Probieren Sie es aus
Attribute
Dieses Element beinhaltet die globalen Attribute.
default
-
Dieses Attribut gibt an, dass der Track aktiviert sein sollte, es sei denn, die Benutzereinstellungen zeigen, dass ein anderer Track geeigneter ist. Dieses Attribut darf nur auf einem
track
-Element pro Media-Element verwendet werden. kind
-
Wie der Text-Track verwendet werden soll. Wenn es weggelassen wird, ist die Standardart
subtitles
. Wenn das Attribut einen ungültigen Wert enthält, wirdmetadata
verwendet. Die folgenden Schlüsselwörter sind erlaubt:-
subtitles
- Untertitel bieten eine Übersetzung von Inhalten, die vom Betrachter nicht verstanden werden können. Zum Beispiel Sprache oder Text, der in einem englischsprachigen Film nicht auf Englisch ist.
- Untertitel können zusätzlichen Inhalt enthalten, normalerweise zusätzliche Hintergrundinformationen. Zum Beispiel der Text am Anfang der Star Wars-Filme oder das Datum, die Uhrzeit und der Ort einer Szene.
-
captions
- Geschlossene Untertitel bieten eine Transkription und möglicherweise eine Übersetzung von Audio.
- Sie können wichtige nonverbale Informationen wie Musikhinweise oder Soundeffekte enthalten. Sie können die Quelle des Hinweises angeben (z. B. Musik, Text, Charakter).
- Geeignet für Benutzer, die taub sind oder wenn der Ton stummgeschaltet ist.
-
chapters
- Kapitelüberschriften sind gedacht, um dem Benutzer bei der Navigation innerhalb der Medienressource zu helfen.
-
metadata
- Tracks, die von Skripten verwendet werden. Nicht sichtbar für den Benutzer.
-
label
-
Ein benutzerlesbarer Titel des Text-Tracks, der vom Browser beim Auflisten verfügbarer Text-Tracks verwendet wird.
src
-
Adresse des Tracks (
.vtt
-Datei). Muss eine gültige URL sein. Dieses Attribut muss angegeben werden und sein URL-Wert muss denselben Ursprung wie das Dokument haben — es sei denn, das<audio>
oder<video>
Eltern-Element destrack
-Elements hat eincrossorigin
Attribut. srclang
-
Sprache der Track-Textdaten. Es muss ein gültiges BCP 47 Sprach-Tag sein. Wenn das
kind
Attribut aufsubtitles
gesetzt ist, musssrclang
definiert werden.
Anwendungshinweise
Track-Datentypen
Die Art der Daten, die track
dem Medium hinzufügt, wird im kind
Attribut festgelegt, das Werte wie subtitles
, captions
, chapters
oder metadata
annehmen kann. Das Element verweist auf eine Quelldatei, die zeitgesteuerten Text enthält, den der Browser anzeigt, wenn der Benutzer zusätzliche Daten anfordert.
Ein Media-Element kann nicht mehr als einen track
mit demselben kind
, srclang
und label
haben.
Erkennen von Cue-Änderungen
Der zugrunde liegende TextTrack
, angezeigt durch die track
Eigenschaft, erhält ein cuechange
Ereignis jedes Mal, wenn der aktuell dargestellte Cue geändert wird. Dies passiert auch dann, wenn der Track nicht mit einem Media-Element verknüpft ist.
Wenn der Track ist mit einem Media-Element verknüpft, indem das <track>
-Element als Kind des <audio>
oder <video>
Elements verwendet wird, wird das cuechange
Ereignis auch an das HTMLTrackElement
gesendet.
let textTrackElem = document.getElementById("text-track");
textTrackElem.addEventListener("cuechange", (event) => {
let cues = event.target.track.activeCues;
});
Texttracks programmatisch hinzufügen
Das JavaScript-Interface, das das <track>
-Element repräsentiert, ist HTMLTrackElement
.
Der Texttrack, der einem Element zugeordnet ist, kann von der HTMLTrackElement.track
Eigenschaft erhalten werden und ist vom Typ TextTrack
.
TextTrack
Objekte können auch zu einem HTMLVideoElement
oder HTMLAudioElement
Elementen mit der Methode HTMLMediaElement.addTextTrack()
hinzugefügt werden.
Die TextTrack
Objekte, die mit einem Media-Element verbunden sind, werden in einer TextTrackList
gespeichert, die über die HTMLMediaElement.textTracks
Eigenschaft abgerufen werden kann.
Beispiele
<video controls poster="/images/sample.gif">
<source src="sample.mp4" type="video/mp4" />
<source src="sample.ogv" type="video/ogv" />
<track kind="captions" src="sampleCaptions.vtt" srclang="en" />
<track kind="chapters" src="sampleChapters.vtt" srclang="en" />
<track kind="subtitles" src="sampleSubtitles_de.vtt" srclang="de" />
<track kind="subtitles" src="sampleSubtitles_en.vtt" srclang="en" />
<track kind="subtitles" src="sampleSubtitles_ja.vtt" srclang="ja" />
<track kind="subtitles" src="sampleSubtitles_oz.vtt" srclang="oz" />
<track kind="metadata" src="keyStage1.vtt" srclang="en" label="Key Stage 1" />
<track kind="metadata" src="keyStage2.vtt" srclang="en" label="Key Stage 2" />
<track kind="metadata" src="keyStage3.vtt" srclang="en" label="Key Stage 3" />
<!-- Fallback -->
…
</video>
Technische Zusammenfassung
Inhaltskategorien | Keine |
---|---|
Erlaubter Inhalt | Keine; es ist ein void-Element. |
Tag-Auslassung | Muss ein Start-Tag haben und darf kein End-Tag haben. |
Erlaubte Eltern | |
Implizite ARIA-Rolle | Keine entsprechende Rolle |
Erlaubte ARIA-Rollen | Kein role erlaubt |
DOM-Schnittstelle | [`HTMLTrackElement`](/de/docs/Web/API/HTMLTrackElement) |
Spezifikationen
Specification |
---|
HTML Standard # the-track-element |
Browser-Kompatibilität
BCD tables only load in the browser