/**
* @file sub-caps-button.js
*/
'./text-track-button.js'에서 TextTrackButton 가져오기;
'../../component.js'에서 컴포넌트 가져오기;
'./caption-settings-menu-item.js'에서 CaptionSettingsMenuItem 가져오기;
'./subs-caps-menu-item.js'에서 SubsCapsMenuItem 가져오기;
'../../utils/string-cases.js'에서 {toTitleCase} 가져오기;
/**
* 캡션 및/또는 자막 전환 및 선택을 위한 버튼 구성 요소
*
* @extends TextTrackButton
*/
클래스 SubsCapsButton은 TextTrackButton을 확장합니다 {
생성자(플레이어, 옵션 = {}) {
super(플레이어, 옵션);
// 북미에서는 대부분의 경우 "캡션"을 사용하지만
// "캡션 및 자막" 기타 로케일은 "자막"을 사용합니다.
this.label_ = '자막';
if (['en', 'en-us', 'en-ca', 'fr-ca'].indexOf(this.player_.language_) > -1) {
this.label_ = '캡션';
}
this.menuButton_.controlText(toTitleCase(this.label_));
}
/**
* 기본 DOM `className`을 빌드합니다.
*
* @return {문자열}
* 이 개체의 DOM `className`입니다.
*/
buildCSSClass() {
`vjs-subs-caps-button ${super.buildCSSClass()}` 반환;
}
buildWrapperCSSClass() {
`vjs-subs-caps-button ${super.buildWrapperCSSClass()}` 반환;
}
/**
* 캡션/자막 메뉴 항목 만들기
*
* @return {CaptionSettingsMenuItem[]}
* 현재 메뉴 항목의 배열입니다.
*/
createItems() {
let 항목 = [];
if (!(this.player().tech_ && this.player().tech_.featuresNativeTextTracks) &&
this.player().getChild('textTrackSettings')) {
items.push(new CaptionSettingsMenuItem(this.player_, {종류: this.label_}));
this.hideThreshold_ += 1;
}
items = super.createItems(items, SubsCapsMenuItem);
항목을 반환;
}
}
/**
* 이 메뉴와 연결하기 위해 찾을 TextTrack의 `종류`입니다.
*
* @type {배열}
* @사적인
*/
SubsCapsButton.prototype.kinds_ = ['자막', '자막'];
/**
* `SubsCapsButton` 컨트롤 위에 표시되어야 하는 텍스트입니다.
*
*
* @유형 {문자열}
* @사적인
*/
SubsCapsButton.prototype.controlText_ = '자막';
Component.registerComponent('SubsCapsButton', SubsCapsButton);
기본 SubsCapsButton 내보내기;