docs.rodeo

MDN Web Docs mirror

TextTrackList

{{APIRef("HTML DOM")}} 

The TextTrackList interface is used to represent a list of the text tracks defined for the associated video or audio element, with each track represented by a separate {{domxref("textTrack")}}  object in the list.

Text tracks can be added to a media element declaratively using the {{HTMLElement("track")}}  element or programmatically using the {{domxref('HTMLMediaElement.addTextTrack()')}}  method.

An instance of this object can be retrieved using the {{domxref('HTMLMediaElement.textTracks', 'textTracks')}}  property of an {{domxref('HTMLMediaElement')}}  object.

For a given {{domxref('HTMLMediaElement')}}  object media, the individual tracks can be accessed using:

{{InheritanceDiagram}} 

Instance properties

This interface also inherits properties from its parent interface, {{domxref("EventTarget")}} .

Instance methods

This interface also inherits methods from its parent interface, {{domxref("EventTarget")}} .

Events

Usage notes

In addition to being able to obtain direct access to the text tracks present on a media element, TextTrackList lets you set event handlers on the {{domxref("TextTrackList/addtrack_event", "addtrack")}}  and {{domxref("TextTrackList/removetrack_event", "removetrack")}}  events, so that you can detect when tracks are added to or removed from the media element’s stream.

Examples

Getting a video element’s text track list

To get a media element’s TextTrackList, use its {{domxref("HTMLMediaElement.textTracks", "textTracks")}}  property.

const textTracks = document.querySelector("video").textTracks;

Monitoring track count changes

In this example, we have an app that displays information about the number of channels available. To keep it up to date, handlers for the {{domxref("TextTrackList/addtrack_event", "addtrack")}}  and {{domxref("TextTrackList/removetrack_event", "removetrack")}}  events are set up.

textTracks.onaddtrack = updateTrackCount;
textTracks.onremovetrack = updateTrackCount;

function updateTrackCount(event) {
  trackCount = textTracks.length;
  drawTrackCountIndicator(trackCount);
}

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

In this article

View on MDN