Firefox Tomorrow

web api interface

TextTrack

View on MDN ↗

The TextTrack interface of the WebVTT API represents a text track associated with a media element.

An object of this type owns the list of VTTCue objects that will be displayed over the video at various points.

TextTrack objects can be added to a HTMLVideoElement or HTMLAudioElement element using the addTextTrack() method, which has the same effect as adding text tracks declaratively using <track> elements inside a <video> or <audio> element. The TextTrack objects are stored in a TextTrackList, which can be retrieved using the textTracks property.

Instance properties

This interface also inherits properties from EventTarget.

  • activeCues Read only
    • : A TextTrackCueList object listing the currently active set of text track cues. Track cues are active if the current playback position of the media is between the cues’ start and end times. Thus, for displayed cues such as captions or subtitles, the active cues are currently being displayed.
  • cues Read only
  • id Read only
    • : A string which identifies the track, if it has one. If it doesn’t have an ID, then this value is an empty string (""). If the TextTrack is associated with a <track> element, then the track’s ID matches the element’s ID.
  • inBandMetadataTrackDispatchType Read only
    • : Returns a string which indicates the track’s in-band metadata track dispatch type.
  • kind Read only
    • : Returns a string indicating what kind of text track the TextTrack describes. It must be one of the permitted values.
  • label Read only
    • : A human-readable string which contains the text track’s label, if one is present; otherwise, this is an empty string (""), in which case a custom label may need to be generated by your code using other attributes of the track, if the track’s label needs to be exposed to the user.
  • language Read only
    • : A string specifying the language in which the text track’s contents is written. The value must be a valid BCP 47 language tag, for example "en-US" for United States English or "pt-BR" for Brazilian Portuguese.
  • mode
    • : A string specifying the track’s current mode, which must be one of the permitted values. Changing this property’s value changes the track’s current mode to match. The default is disabled, unless the <track> element’s default boolean attribute is set to true — in which case the default mode is showing.
  • sourceBuffer Read only

Instance methods

This interface also inherits methods from EventTarget.

[!NOTE] The TextTrackCue interface is an abstract class used as the parent for other cue interfaces such as VTTCue. Therefore, when adding or removing a cue you will be passing in one of the cue types that inherit from TextTrackCue.

Events

  • cuechange
    • : Fired when cues are entered and exited. A given text cue appears when the cue is entered and disappears when the cue is exited. Also available via the oncuechange property.

Example

The following example adds a new TextTrack to a video, then sets it to display using mode.

let video = document.querySelector("video");
let track = video.addTextTrack("captions", "Captions", "en");
track.mode = "showing";

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

See also