/**
 * @file big-play-button.js
 */
'./button.js'에서 버튼 가져오기;
'./component.js'에서 컴포넌트 가져오기;
import {isPromise, silencePromise} from './utils/promise';
* './utils/browser.js'에서 브라우저로 가져오기;

/**
 * 동영상이 재생되기 전에 표시되는 초기 재생 버튼입니다. 의 은폐
 * `BigPlayButton`은 CSS 및 `Player` 상태를 통해 완료됩니다.
 *
 * @extends 버튼
 */
클래스 BigPlayButton 확장 버튼 {
  생성자(플레이어, 옵션) {
    super(플레이어, 옵션);

    this.mouseused_ = 거짓;

    this.on('마우스다운', (e) => this.handleMouseDown(e));
  }

  /**
   * 기본 DOM `className`을 빌드합니다.
   *
   * @return {문자열}
   * 이 개체의 DOM `className`입니다. 항상 'vjs-big-play-button'을 반환합니다.
   */
  buildCSSClass() {
    'vjs-big-play-button' 반환;
  }

  /**
   * 이것은 `BigPlayButton`이 "클릭"될 때 호출됩니다. {@link ClickableComponent} 참조
   * 클릭이 무엇인지에 대한 자세한 정보를 보려면.
   *
   * @param {EventTarget~Event} 이벤트
   * 이 함수를 실행하게 만든 `keydown`, `tap` 또는 `click` 이벤트
   * 라고 불리는.
   *
   * @listens 탭
   * @듣기 클릭
   */
  handleClick(이벤트) {
    const playPromise = this.player_.play();

    // 마우스로 클릭하면 일찍 종료
    if (this.mouseused_ && 이벤트.클라이언트X && 이벤트.클라이언트Y) {
      const sourceIsEncrypted = this.player_.usingPlugin('eme') &&
                                this.player_.eme.sessions &&
                                this.player_.eme.sessions.length > 0;

      침묵 약속(playPromise);
      if (this.player_.tech(참) &&
         // DRM 콘텐츠를 재생할 때 IE 및 Edge에서 버그를 관찰했습니다.
         // 비디오 요소에서 .focus()를 호출하면 비디오가 검게 변합니다.
         // 특정 경우에는 피합니다.
         !((브라우저.IE_VERSION || 브라우저.IS_EDGE) && sourceIsEncrypted)) {
        this.player_.tech(true).focus();
      }
      반품;
    }

    const cb = this.player_.getChild('controlBar');
    const playToggle = cb && cb.getChild('playToggle');

    if (!playToggle) {
      this.player_.tech(true).focus();
      반품;
    }

    const playFocus = () => playToggle.focus();

    if (isPromise(playPromise)) {
      playPromise.then(playFocus, () => {});
    } else {
      this.setTimeout(playFocus, 1);
    }
  }

  handleKeyDown(이벤트) {
    this.mouseused_ = 거짓;

    super.handleKeyDown(이벤트);
  }

  handleMouseDown(이벤트) {
    this.mouseused_ = 참;
  }
}

/**
 * `BigPlayButton` 컨트롤 위에 표시되어야 하는 텍스트입니다. 현지화를 위해 추가되었습니다.
 *
 * @유형 {문자열}
 * @사적인
 */
BigPlayButton.prototype.controlText_ = '동영상 재생';

Component.registerComponent('BigPlayButton', BigPlayButton);
기본 BigPlayButton 내보내기;