/**
* @Datei track-button.js
* /
importiere MenuButton aus '../menu/menu-button.js';
importiere Komponente aus '../component.js';
import * as Fn from '../utils/fn.js';
/**
* Die Basisklasse für Schaltflächen, mit denen bestimmte Spurtypen (z. B. Untertitel) umgeschaltet werden können.
*
* @extends MenuButton
* /
class TrackButton extends MenuButton {
/**
* Erzeugt eine Instanz dieser Klasse.
*
* @param {Player} Spieler
* Der `Player`, dem diese Klasse zugeordnet werden soll.
*
* @param {Object} [Optionen]
* Der Schlüssel/Wertspeicher der Playeroptionen.
* /
constructor(spieler, optionen) {
const tracks = options.tracks;
super(Spieler, Optionen);
if (this.items.length <= 1) {
this.hide();
}
if (!tracks) {
rückkehr;
}
const updateHandler = Fn.bind(this, this.update);
tracks.addEventListener('removetrack', updateHandler);
tracks.addEventListener('addtrack', updateHandler);
tracks.addEventListener('labelchange', updateHandler);
this.player_.on('ready', updateHandler);
this.player_.on('dispose', function() {
tracks.removeEventListener('removetrack', updateHandler);
tracks.removeEventListener('addtrack', updateHandler);
tracks.removeEventListener('labelchange', updateHandler);
});
}
}
Component.registerComponent('TrackButton', TrackButton);
standard TrackButton exportieren;