53 lines
2.2 KiB
TypeScript
53 lines
2.2 KiB
TypeScript
import Component from "video.js/dist/types/component";
|
|
import Player from "video.js/dist/types/player";
|
|
import Plugin from "video.js/dist/types/plugin";
|
|
import "./settings.css";
|
|
interface SettingsButtonOptions {
|
|
}
|
|
interface PlayerWithControlBar extends Player {
|
|
hlsInstance?: unknown;
|
|
controlBar: Component;
|
|
}
|
|
declare const BasePlugin: typeof Plugin;
|
|
declare class SettingsButton extends BasePlugin {
|
|
private options;
|
|
private mainMenu;
|
|
private settingsButton;
|
|
private buttonInstance;
|
|
private backButton;
|
|
private playbackRateButton;
|
|
private qualityRateButton;
|
|
private audioTracksButton;
|
|
private textTracksButton;
|
|
constructor(player: PlayerWithControlBar, options: SettingsButtonOptions);
|
|
/**
|
|
* Инициализация плагина: создание кнопки настроек и привязка событий
|
|
*/
|
|
private initialize;
|
|
/**
|
|
* Привязка событий плеера (например, для обновления меню)
|
|
*/
|
|
private bindPlayerEvents;
|
|
/**
|
|
* Создание кнопки настроек и определение пунктов меню.
|
|
* Здесь создаются фабрики для формирования кнопок и устанавливается начальное меню.
|
|
*/
|
|
private createSettingsButton;
|
|
/**
|
|
* Обёртка для создания экземпляра пункта меню.
|
|
*
|
|
* @param item - объект настроек пункта меню
|
|
* @returns экземпляр TachVideoMenuItem
|
|
*/
|
|
private getMenuItem;
|
|
/**
|
|
* Устанавливает (обновляет) пункты меню плагина.
|
|
*
|
|
* @param items - массив пунктов меню (если не передан, используются кнопки по умолчанию)
|
|
* @param skipBackButton - если true, не добавлять кнопку "Назад"
|
|
* @param forceShow - если true, принудительно показать меню после обновления
|
|
*/
|
|
private setMenu;
|
|
}
|
|
export default SettingsButton;
|
|
//# sourceMappingURL=index.d.ts.map
|