/**
 * @file audio-track-button.js
 * /
importar TrackButton desde '../track-button.js';
importar componente desde '../../component.js';
importar AudioTrackMenuItem desde './audio-track-menu-item.js';

/**
 * La clase base para los botones que alternan tipos específicos de {@link AudioTrack}.
 *
 * @extiende TrackButton
 * /
clase AudioTrackButton extiende TrackButton {

  /**
   * Crea una instancia de esta clase.
   *
   * @param {Jugador} jugador
   * El `Jugador` al que se debe adjuntar esta clase.
   *
   * @param {Objeto} [opciones={}]
   * El almacén de clave/valor de las opciones del jugador.
   * /
  constructor(jugador, opciones = {}) {
    options.tracks = player.audioTracks();

    super(jugador, opciones);
  }

  /**
   * Construye el DOM predeterminado `className`.
   *
   * @return {cadena}
   * El DOM `className` para este objeto.
   * /
  construirClaseCSS() {
    devuelve `vjs-audio-button ${super.buildCSSClass()}`;
  }

  buildWrapperCSSClass() {
    devuelve `vjs-audio-button ${super.buildWrapperCSSClass()}`;
  }

  /**
   * Crear un elemento de menú para cada pista de audio
   *
   * @param {AudioTrackMenuItem[]} [elementos=[]]
   * Una matriz de elementos de menú existentes para usar.
   *
   * @return {AudioTrackMenuItem[]}
   * Una variedad de elementos de menú
   * /
  createItems(elementos = []) {
    // si solo hay una pista de audio, no tiene sentido mostrarla
    este.hideThreshold_ = 1;

    const pistas = this.player_.audioTracks();

    para (sea i = 0; i < pistas.longitud; i++) {
      const pista = pistas[i];

      items.push(nuevo AudioTrackMenuItem(this.player_, {
        pista,
        // MenuItem es seleccionable
        seleccionable: verdadero,
        // MenuItem NO es multiseleccionable (es decir, solo uno puede marcarse como "seleccionado" a la vez)
        multiseleccionable: falso
      }));
    }

    devolver los artículos;
  }
}

/**
 * El texto que debería mostrarse sobre los controles `AudioTrackButton`s. Añadido para la localización.
 *
 * @tipo {cadena}
 * @privado
 * /
AudioTrackButton.prototype.controlText_ = 'Pista de audio';
Component.registerComponent('AudioTrackButton', AudioTrackButton);
exportar botón de pista de audio predeterminado;