/**
* @Datei audio-track-button.js
* /
importiere TrackButton aus '../track-button.js';
importiere Komponente aus '../../component.js';
import AudioTrackMenuItem from './audio-track-menu-item.js';
/**
* Die Basisklasse für Schaltflächen, die bestimmte {@link AudioTrack}-Typen umschalten.
*
* @erweitert TrackButton
* /
class AudioTrackButton extends TrackButton {
/**
* Erzeugt eine Instanz dieser Klasse.
*
* @param {Player} Spieler
* Der `Player`, dem diese Klasse zugeordnet werden soll.
*
* @param {Object} [options={}]
* Der Schlüssel/Wertspeicher der Playeroptionen.
* /
constructor(player, options = {}) {
options.tracks = player.audioTracks();
super(Spieler, Optionen);
}
/**
* Erzeugt den Standard-DOM "Klassenname".
*
* @return {string}
* Der DOM `className` für dieses Objekt.
* /
buildCSSClass() {
return `vjs-audio-button ${super.buildCSSClass()}`;
}
buildWrapperCSSClass() {
return `vjs-audio-button ${super.buildWrapperCSSClass()}`;
}
/**
* Erstellen Sie für jede Tonspur einen Menüpunkt
*
* @param {AudioTrackMenuItem[]} [items=[]]
* Ein Array von vorhandenen Menüpunkten, die verwendet werden sollen.
*
* @return {AudioTrackMenuItem[]}
* Eine Reihe von Menüpunkten
* /
createItems(items = []) {
// wenn es nur eine Tonspur gibt, ist es sinnlos, sie anzuzeigen
this.hideThreshold_ = 1;
const tracks = this.player_.audioTracks();
for (let i = 0; i < tracks.length; i++) {
const track = tracks[i];
items.push(new AudioTrackMenuItem(this.player_, {
titel,
// MenuItem ist auswählbar
auswählbar: wahr,
// MenuItem ist NICHT mehrfach auswählbar (d.h. es kann jeweils nur einer als "ausgewählt" markiert werden)
multiSelectable: false
}));
}
rücksendungen;
}
}
/**
* Der Text, der über den Steuerelementen von `AudioTrackButton` angezeigt werden soll. Für die Lokalisierung hinzugefügt.
*
* @Typ {String}
* @privat
* /
AudioTrackButton.prototype.controlText_ = 'Audiospur';
Component.registerComponent('AudioTrackButton', AudioTrackButton);
standard AudioTrackButton exportieren;