/**
* @file html-track-element.js
*/
從 '../event-target' 導入 EventTarget;
從 '../tracks/text-track' 導入 TextTrack;
/**
* @memberof HTMLTrackElement
* @typedef {HTMLTrackElement~ReadyState}
* @enum {數字}
*/
常量無= 0;
常量加載= 1;
常量加載= 2;
常量錯誤 = 3;
/**
* 在 DOM 中表示的單個軌道。
*
* @see [規範]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#htmltrackelement}
* @extends 事件目標
*/
類 HTMLTrackElement 擴展 EventTarget {
/**
* 創建此類的一個實例。
*
* @param {Object} 選項={}
* 選項名稱和值的對象
*
* @param {Tech} options.tech
* 對擁有此 HTMLTrackElement 的技術的引用。
*
* @param {TextTrack~Kind} [options.kind='subtitles']
* 一個有效的文本軌道類型。
*
* @param {TextTrack~Mode} [options.mode='disabled']
* 一個有效的文本軌道模式。
*
* @param {string} [options.id='vjs_track_' + Guid.newGUID()]
* 此 TextTrack 的唯一 ID。
*
* @param {string} [options.label='']
* 此軌道的菜單標籤。
*
* @param {string} [options.language='']
* 有效的雙字符語言代碼。
*
* @param {string} [options.srclang='']
* 有效的雙字符語言代碼。一個替代方案,但被取消優先級
* `options.language` 的版本
*
* @param {string} [options.src]
* TextTrack 提示的 url。
*
* @param {boolean} [options.default]
* 如果此軌道應默認打開或關閉。
*/
構造函數(選項={}){
極好的();
讓就緒狀態;
const track = new TextTrack(選項);
this.kind = track.kind;
this.src = track.src;
this.srclang = track.language;
this.label = track.label;
this.default = track.default;
Object.defineProperties(這個,{
/**
* @memberof HTMLTrackElement
* @member {HTMLTrackElement~ReadyState} readyState
* 軌道元素的當前就緒狀態。
* @實例
*/
就緒狀態:{
得到() {
返回就緒狀態;
}
},
/**
* @memberof HTMLTrackElement
* @member {TextTrack} 軌道
* 底層 TextTrack 對象。
* @實例
*
*/
追踪: {
得到() {
返回軌道;
}
}
});
就緒狀態=無;
/**
* @listens TextTrack#loadeddata
* @fires HTMLTrackElement#load
*/
track.addEventListener('loadeddata', () => {
就緒狀態=加載;
這個。觸發({
類型:'加載',
目標:這個
});
});
}
}
HTMLTrackElement.prototype.allowedEvents_ = {
加載:'加載'
};
HTMLTrackElement.NONE = NONE;
HTMLTrackElement.LOADING = 加載中;
HTMLTrackElement.LOADED = LOADED;
HTMLTrackElement.ERROR = 錯誤;
導出默認的 HTMLTrackElement;