new TextTrack(options)

[tracks/text-track.js](https://docs.videojs.com/tracks_text-track.js.html), [line 123](https://docs.videojs.com/tracks_text-track.js.html#line123)

Create an instance of this class.

Parameters:
NameTypeDefaultDescription
optionsObject{}

Object of option names and values

Properties
NameTypeAttributesDefaultDescription
techTech

A reference to the tech that owns this TextTrack.

kindTextTrack~Kind<optional>
‘subtitles’

A valid text track kind.

modeTextTrack~Mode<optional>
‘disabled’

A valid text track mode.

idstring<optional>
‘vjstrack‘ + Guid.newGUID()

A unique id for this TextTrack.

labelstring<optional>
‘’

The menu label for this track.

languagestring<optional>
‘’

A valid two character language code.

srclangstring<optional>
‘’

A valid two character language code. An alternative, but deprioritized version of options.language

srcstring<optional>

A url to TextTrack cues.

defaultboolean<optional>

If this track should default to on or off.

See:

Extends

Members

activeCues :TextTrackCueList

[tracks/text-track.js](https://docs.videojs.com/tracks_text-track.js.html), [line 290](https://docs.videojs.com/tracks_text-track.js.html#line290)

The list text track cues that are currently active for this TextTrack.

allowedEvents_

[tracks/text-track.js](https://docs.videojs.com/tracks_text-track.js.html), [line 419](https://docs.videojs.com/tracks_text-track.js.html#line419)

cuechange - One or more cues in the track have become active or stopped being active.

  • Overrides:

    • Track#allowedEvents_

cues :TextTrackCueList

[tracks/text-track.js](https://docs.videojs.com/tracks_text-track.js.html), [line 273](https://docs.videojs.com/tracks_text-track.js.html#line273)

The text track cue list for this TextTrack.

readonly default :boolean

[tracks/text-track.js](https://docs.videojs.com/tracks_text-track.js.html), [line 212](https://docs.videojs.com/tracks_text-track.js.html#line212)

If this track was set to be on or off by default. Cannot be changed after creation.

readonly id :string

[tracks/track.js](https://docs.videojs.com/tracks_track.js.html), [line 50](https://docs.videojs.com/tracks_track.js.html#line50)

The id of this track. Cannot be changed after creation.

readonly kind :string

[tracks/track.js](https://docs.videojs.com/tracks_track.js.html), [line 59](https://docs.videojs.com/tracks_track.js.html#line59)

The kind of track that this is. Cannot be changed after creation.

label :string

[tracks/track.js](https://docs.videojs.com/tracks_track.js.html), [line 87](https://docs.videojs.com/tracks_track.js.html#line87)

The label of this track. Cannot be changed after creation.

Fires:

readonly language :string

[tracks/track.js](https://docs.videojs.com/tracks_track.js.html), [line 68](https://docs.videojs.com/tracks_track.js.html#line68)

The two letter language code for this track. Cannot be changed after creation.

mode :string

[tracks/text-track.js](https://docs.videojs.com/tracks_text-track.js.html), [line 228](https://docs.videojs.com/tracks_text-track.js.html#line228)

Set the mode of this TextTrack to a valid TextTrack~Mode. Will not be set if setting to an invalid mode.

Fires:

Methods

addCue(cue)

[tracks/text-track.js](https://docs.videojs.com/tracks_text-track.js.html), [line 366](https://docs.videojs.com/tracks_text-track.js.html#line366)

Add a cue to the internal list of cues.

Parameters:
NameTypeDescription
cueTextTrack~Cue

The cue to add to our internal list

addEventListener()

[event-target.js](https://docs.videojs.com/event-target.js.html), [line 75](https://docs.videojs.com/event-target.js.html#line75)

An alias of EventTarget#on. Allows EventTarget to mimic the standard DOM API.

dispatchEvent()

[event-target.js](https://docs.videojs.com/event-target.js.html), [line 175](https://docs.videojs.com/event-target.js.html#line175)

An alias of EventTarget#trigger. Allows EventTarget to mimic the standard DOM API.

off(type, fn)

[event-target.js](https://docs.videojs.com/event-target.js.html), [line 88](https://docs.videojs.com/event-target.js.html#line88)

Removes an event listener for a specific event from an instance of EventTarget. This makes it so that the event listener will no longer get called when the named event happens.

Parameters:
NameTypeDescription
typestring | Array.<string>

An event name or an array of event names.

fnEventTarget~EventListener

The function to remove.

on(type, fn)

[event-target.js](https://docs.videojs.com/event-target.js.html), [line 58](https://docs.videojs.com/event-target.js.html#line58)

Adds an event listener to an instance of an EventTarget. An event listener is a function that will get called when an event with a certain name gets triggered.

Parameters:
NameTypeDescription
typestring | Array.<string>

An event name or an array of event names.

fnEventTarget~EventListener

The function to call with EventTargets

one(type, fn)

[event-target.js](https://docs.videojs.com/event-target.js.html), [line 112](https://docs.videojs.com/event-target.js.html#line112)

This function will add an event listener that gets triggered only once. After the first trigger it will get removed. This is like adding an event listener with EventTarget#on that calls EventTarget#off on itself.

Parameters:
NameTypeDescription
typestring | Array.<string>

An event name or an array of event names.

fnEventTarget~EventListener

The function to be called once for each event name.

removeCue(removeCue)

[tracks/text-track.js](https://docs.videojs.com/tracks_text-track.js.html), [line 401](https://docs.videojs.com/tracks_text-track.js.html#line401)

Remove a cue from our internal list

Parameters:
NameTypeDescription
removeCueTextTrack~Cue

The cue to remove from our internal list

removeEventListener()

[event-target.js](https://docs.videojs.com/event-target.js.html), [line 99](https://docs.videojs.com/event-target.js.html#line99)

An alias of EventTarget#off. Allows EventTarget to mimic the standard DOM API.

trigger(event)

[event-target.js](https://docs.videojs.com/event-target.js.html), [line 148](https://docs.videojs.com/event-target.js.html#line148)

This function causes an event to happen. This will then cause any event listeners that are waiting for that event, to get called. If there are no event listeners for an event then nothing will happen.

If the name of the Event that is being triggered is in EventTarget.allowedEvents_. Trigger will also call the on + uppercaseEventName function.

Example: ‘click’ is in EventTarget.allowedEvents_, so, trigger will attempt to call onClick if it exists.

Parameters:
NameTypeDescription
eventstring | EventTarget~Event | Object

The name of the event, an Event, or an object with a key of type set to an event name.

Type Definitions

Kind

[tracks/track-enums.js](https://docs.videojs.com/tracks_track-enums.js.html), [line 37](https://docs.videojs.com/tracks_track-enums.js.html#line37)

All possible TextTrackKinds

Mode

[tracks/track-enums.js](https://docs.videojs.com/tracks_track-enums.js.html), [line 52](https://docs.videojs.com/tracks_track-enums.js.html#line52)

All possible TextTrackModes

Events

labelchange

[tracks/track.js](https://docs.videojs.com/tracks_track.js.html), [line 103](https://docs.videojs.com/tracks_track.js.html#line103)

An event that fires when label changes on this track.

Note: This is not part of the spec!

Type:

modechange

[tracks/text-track.js](https://docs.videojs.com/tracks_text-track.js.html), [line 259](https://docs.videojs.com/tracks_text-track.js.html#line259)

An event that fires when mode changes on this track. This allows the TextTrackList that holds this track to act accordingly.

Note: This is not part of the spec!

Type: