importar {VideoTrackKind} desde './track-enums';
importar Pista desde './pista';
importar combinación desde '../utils/merge-options';
/**
* Una representación de una sola `VideoTrack`.
*
* @ver [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotrack}
* @extiende Pista
* /
class VideoTrack extiende Pista {
/**
* Crear una instancia de esta clase.
*
* @param {Objeto} [opciones={}]
* Objeto de nombres y valores de opciones
*
* @param {cadena} [opciones.tipo='']
* Un {@link VideoTrack~Kind} válido
*
* @param {cadena} [opciones.id='vjs_track_' + Guid.nuevoGUID()]
* Una identificación única para esta pista de audio.
*
* @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 {booleano} [opciones.seleccionado]
* Si esta pista es la que se está reproduciendo actualmente.
* /
constructor(opciones = {}) {
configuración constante = fusionar (opciones, {
amable: VideoTrackKind[opciones.tipo] || ''
});
super(configuraciones);
dejar seleccionado = falso;
/**
* @memberofVideoTrack
* @member {booleano} seleccionado
* Si esta `VideoTrack` está seleccionada o no. Al configurar esto se
* disparar {@link VideoTrack#selectedchange} si el estado de seleccionado cambió.
* @instancia
*
* @fires VideoTrack#cambio seleccionado
* /
Object.defineProperty(esto, 'seleccionado', {
conseguir() {
volver seleccionado;
},
set(nuevoSeleccionado) {
// un valor inválido o sin cambios
if (typeof newSelected !== 'boolean' || newSelected === seleccionado) {
devolver;
}
seleccionado = nuevoSeleccionado;
/**
* Un evento que se activa cuando se seleccionan cambios en esta pista. Esto permite
* la VideoTrackList que contiene esta pista para actuar en consecuencia.
*
* > Nota: ¡Esto no forma parte de la especificación! Las pistas nativas servirán
* esto internamente sin un evento.
*
* @event VideoTrack#cambio seleccionado
* @type {Objetivo del evento~Evento}
* /
this.trigger('cambio seleccionado');
}
});
// si el usuario establece esta pista como seleccionada, entonces
// establecer seleccionado a ese valor verdadero de lo contrario
// lo mantenemos falso
if (configuración.seleccionado) {
esto.seleccionado = configuración.seleccionado;
}
}
}
exportar VideoTrack predeterminado;