/**
* @file audio-track-button.js
*/
'../track-button.js'에서 TrackButton 가져오기;
'../../component.js'에서 컴포넌트 가져오기;
'./audio-track-menu-item.js'에서 AudioTrackMenuItem 가져오기;
/**
* 특정 {@link AudioTrack} 유형을 전환하는 버튼의 기본 클래스입니다.
*
* @extends 트랙버튼
*/
클래스 AudioTrackButton은 TrackButton {를 확장합니다.
/**
* 이 클래스의 인스턴스를 만듭니다.
*
* @param {플레이어} 플레이어
* 이 클래스가 연결되어야 하는 `Player`.
*
* @param {객체} [옵션={}]
* 플레이어 옵션의 키/값 저장소.
*/
생성자(플레이어, 옵션 = {}) {
options.tracks = player.audioTracks();
super(플레이어, 옵션);
}
/**
* 기본 DOM `className`을 빌드합니다.
*
* @return {문자열}
* 이 개체의 DOM `className`입니다.
*/
buildCSSClass() {
`vjs-audio-button ${super.buildCSSClass()}` 반환;
}
buildWrapperCSSClass() {
`vjs-audio-button ${super.buildWrapperCSSClass()}` 반환;
}
/**
* 각 오디오 트랙에 대한 메뉴 항목 만들기
*
* @param {AudioTrackMenuItem[]} [항목=[]]
* 사용할 기존 메뉴 항목의 배열입니다.
*
* @return {AudioTrackMenuItem[]}
* 메뉴 항목의 배열
*/
createItems(항목 = []) {
// 오디오 트랙이 하나만 있는 경우 표시할 필요가 없습니다.
this.hideThreshold_ = 1;
const 트랙 = this.player_.audioTracks();
에 대한 (하자 i = 0; i < 트랙.길이; i++) {
const 트랙 = 트랙[i];
items.push(new AudioTrackMenuItem(this.player_, {
길,
// MenuItem을 선택할 수 있습니다.
선택 가능: 참,
// MenuItem은 multiSelectable이 아닙니다(즉, 한 번에 하나만 "선택됨"으로 표시할 수 있음).
다중 선택 가능: 거짓
}));
}
항목을 반환;
}
}
/**
* `AudioTrackButton` 컨트롤 위에 표시되어야 하는 텍스트입니다. 현지화를 위해 추가되었습니다.
*
* @유형 {문자열}
* @사적인
*/
AudioTrackButton.prototype.controlText_ = '오디오 트랙';
Component.registerComponent('AudioTrackButton', AudioTrackButton);
기본 AudioTrackButton 내보내기;