<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, wird metadata 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 des track-Elements hat ein crossorigin Attribut.

srclang

Sprache der Track-Textdaten. Es muss ein gültiges BCP 47 Sprach-Tag sein. Wenn das kind Attribut auf subtitles gesetzt ist, muss srclang 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.

js
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

html
<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

Ein Media-Element, <audio> oder <video>.

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

Siehe auch