/**
* @file 재생 속도-메뉴-item.js
*/
'../../menu/menu-item.js'에서 MenuItem 가져오기;
'../../component.js'에서 컴포넌트 가져오기;
/**
* 재생 속도를 선택하기 위한 특정 메뉴 항목 유형입니다.
*
* @extends 메뉴 항목
*/
클래스 PlaybackRateMenuItem은 MenuItem {를 확장합니다.
/**
* 이 클래스의 인스턴스를 만듭니다.
*
* @param {플레이어} 플레이어
* 이 클래스가 연결되어야 하는 `Player`.
*
* @param {객체} [옵션]
* 플레이어 옵션의 키/값 저장소.
*/
생성자(플레이어, 옵션) {
const 레이블 = options.rate;
const rate = parseFloat(label, 10);
// 상위 MenuItem 클래스의 init에 대한 옵션을 수정합니다.
options.label = 라벨;
options.selected = 속도 === player.playbackRate();
options.selectable = 참;
options.multiSelectable = 거짓;
super(플레이어, 옵션);
this.label = 라벨;
this.rate = 비율;
this.on(플레이어, 'ratechange', (e) => this.update(e));
}
/**
* `PlaybackRateMenuItem`이 "클릭"될 때 호출됩니다. 보다
* {@link ClickableComponent}에서 클릭이 무엇인지 자세히 알아보세요.
*
* @param {이벤트대상~이벤트} [이벤트]
* 이 함수를 실행하게 만든 `keydown`, `tap` 또는 `click` 이벤트
* 라고 불리는.
*
* @listens 탭
* @듣기 클릭
*/
handleClick(이벤트) {
super.handleClick();
this.player().playbackRate(this.rate);
}
/**
* 재생 속도가 변경되면 PlaybackRateMenuItem을 업데이트합니다.
*
* @param {이벤트대상~이벤트} [이벤트]
* 이 함수를 실행하게 만든 `ratechange` 이벤트.
*
* @listens Player#ratechange
*/
업데이트(이벤트) {
this.selected(this.player().playbackRate() === this.rate);
}
}
/**
* `PlaybackRateMenuItem` 컨트롤 위에 표시되어야 하는 텍스트입니다. 현지화를 위해 추가되었습니다.
*
* @유형 {문자열}
* @사적인
*/
PlaybackRateMenuItem.prototype.contentElType = '버튼';
Component.registerComponent('PlaybackRateMenuItem', PlaybackRateMenuItem);
기본 PlaybackRateMenuItem 내보내기;