/**
* @file track-button.js
*/
從 '../menu/menu-button.js' 導入 MenuButton;
從 '../component.js' 導入組件;
從 '../utils/fn.js' 導入 * 作為 Fn;
/**
* 切換特定軌道類型(例如字幕)的按鈕的基類。
*
* @extends 菜單按鈕
*/
類 TrackButton 擴展 MenuButton {
/**
* 創建此類的一個實例。
*
* @param {Player} 播放器
* 此類應附加到的 `Player`。
*
* @param {對象} [選項]
* 播放器選項的鍵/值存儲。
*/
構造函數(播放器,選項){
const tracks = options.tracks;
超級(播放器,選項);
如果 (this.items.length <= 1) {
這個。隱藏();
}
如果(!曲目){
返回;
}
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);
導出默認 TrackButton;