/**
* @archivo html-track-element.js
* /
importar EventTarget desde '../event-target';
importar TextTrack desde '../tracks/text-track';
/**
* @memberof HTMLTrackElement
* @typedef {HTMLTrackElement~ReadyState}
* @enum {número}
* /
constante NINGUNO = 0;
carga constante = 1;
const CARGADO = 2;
constante ERROR = 3;
/**
* Una sola pista representada en el DOM.
*
* @ver [Especificación]{@enlace https://html.spec.whatwg.org/multipage/embedded-content.html#htmltrackelement}
* @extiende EventTarget
* /
clase HTMLTrackElement extiende EventTarget {
/**
* Crear una instancia de esta clase.
*
* @param {Objeto} opciones={}
* Objeto de nombres y valores de opciones
*
* @param {Tecnología} opciones.tecnología
* Una referencia a la tecnología propietaria de este HTMLTrackElement.
*
* @param {TextTrack~Tipo} [opciones.tipo='subtítulos']
* Un tipo de pista de texto válido.
*
* @param {TextTrack~Mode} [opciones.modo='deshabilitado']
* Un modo de seguimiento de texto válido.
*
* @param {cadena} [opciones.id='vjs_track_' + Guid.nuevoGUID()]
* Una identificación única para este TextTrack.
*
* @param {cadena} [opciones.etiqueta='']
* La etiqueta del menú para esta pista.
*
* @param {cadena} [opciones.idioma='']
* Un código de idioma válido de dos caracteres.
*
* @param {cadena} [opciones.srclang='']
* Un código de idioma válido de dos caracteres. Una alternativa, pero despriorizada
* versión de `options.language`
*
* @param {cadena} [opciones.src]
* Una url a las señales de TextTrack.
*
* @param {booleano} [opciones.predeterminado]
* Si esta pista debería estar activada o desactivada de forma predeterminada.
* /
constructor(opciones = {}) {
súper();
dejar estado listo;
const track = new TextTrack(opciones);
este.tipo = pista.tipo;
this.src = pista.src;
this.srclang = pista.idioma;
esta.etiqueta = pista.etiqueta;
this.default = track.default;
Objeto.defineProperties(esto, {
/**
* @memberof HTMLTrackElement
* @member {HTMLTrackElement~ReadyState} readyState
* El estado de preparación actual del elemento de pista.
* @instancia
* /
estado listo: {
conseguir() {
volver listoEstado;
}
},
/**
* @memberof HTMLTrackElement
* Pista de @member {TextTrack}
* El objeto TextTrack subyacente.
* @instancia
*
* /
pista: {
conseguir() {
pista de retorno;
}
}
});
EstadoListo = NINGUNO;
/**
* @escucha TextTrack#loadeddata
* @fires HTMLTrackElement#load
* /
pista.addEventListener('datos cargados', () => {
readyState = CARGADO;
este.disparador({
tipo: 'cargar',
objetivo: este
});
});
}
}
HTMLTrackElement.prototype.allowedEvents_ = {
cargar: 'cargar'
};
HTMLTrackElement.NONE = NINGUNO;
HTMLTrackElement.LOADING = CARGANDO;
HTMLTrackElement.CARGADO = CARGADO;
HTMLTrackElement.ERROR = ERROR;
exportar HTMLTrackElement predeterminado;