/**
* @file text-track-list.js
* /
importar TrackList desde './track-list';
/**
* La lista actual de {@link TextTrack} para un archivo multimedia.
*
* @ver [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttracklist}
* @extiende TrackList
* /
clase TextTrackList extiende TrackList {
/**
* Agregue un {@link TextTrack} a `TextTrackList`
*
* @param {TextTrack} pista
* La pista de texto para agregar a la lista.
*
* @fires TrackList#addtrack
* /
addTrack(pista) {
super.addTrack(pista);
if (!this.queueChange_) {
this.queueChange_ = () => this.queueTrigger('cambiar');
}
if (!this.triggerSelectedlanguagechange) {
this.triggerSelectedlanguagechange_ = () => this.trigger('cambio de idioma seleccionado');
}
/**
* @escucha TextTrack#cambio de modo
* @fires TrackList#cambiar
* /
track.addEventListener('cambio de modo', this.queueChange_);
const nonLanguageTextTrackKind = ['metadatos', 'capítulos'];
if (nonLanguageTextTrackKind.indexOf(track.kind) === -1) {
track.addEventListener('cambio de modo', this.triggerSelectedlanguagechange_);
}
}
removeTrack(rtrack) {
super.removeTrack(rtrack);
// eliminar manualmente los controladores de eventos que agregamos
si (rtrack.removeEventListener) {
if (this.queueChange_) {
rtrack.removeEventListener('cambio de modo', this.queueChange_);
}
if (this.selectedlanguagechange_) {
rtrack.removeEventListener('cambio de modo', this.triggerSelectedlanguagechange_);
}
}
}
}
exportar TextTrackList predeterminado;