브라이트코브 플레이어 샘플: 수평 볼륨 컨트롤

개발 순서

다음은 권장되는 개발 순서입니다.

  1. In-Page 임베드 플레이어 구현을 사용하여 플레이어, 플러그인 및 CSS의 기능을 테스트합니다 (CSS가 필요한 경우).
  2. 로컬 테스트를 위해 플러그인의 자바 스크립트와 CSS를 별도의 파일에 넣으십시오.
  3. 오류가 발생하면 플러그인 코드와 CSS를 서버에 배포하십시오.
  4. Studio를 사용하여 플레이어에 플러그인과 CSS를 추가합니다.
  5. iframe 구현이 더 적합하다고 판단되면 In-Page 내장 플레이어 구현을 교체하십시오 (다음 섹션에서 자세히 설명).

이러한 단계에 대한 자세한 내용은단계별 단계를 검토하십시오. 플러그인 개발가이드.

iframe 또는 페이지 내 포함

브라이트코브 플레이어에서 향상된 기능을 개발할 때 코드가 iframe 또는 In-Page embed 구현에 가장 적합한지 결정해야 합니다. 가장 좋은 방법은 iframe 구현과 함께 사용할 플러그인을 작성하는 것입니다. iframe 플레이어를 사용하면 다음과 같은 이점이 있습니다.

  • 기존 자바 스크립트 및/또는 CSS와의 충돌 없음
  • 자동 응답성
  • iframe은 소셜 미디어 앱에서 쉽게 사용할 수 있습니다 (또는 동영상이 다른 앱으로 “이동”해야 할 때마다).

In-Page 임베드 플레이어를 통합하는 것이 더 복잡할 수 있지만 해당 구현을 중심으로 코드를 계획할 때가 있습니다. 일반화하려면이 방법은 포함 된 페이지가 플레이어와 통신해야 할 때 가장 좋습니다. 특히 다음은 몇 가지 예입니다.

  • 포함 페이지의 코드는 플레이어 이벤트를 수신하고 이에 대한 조치를 취해야 합니다.
  • 플레이어는 포함 된 페이지의 스타일을 사용합니다.
  • iframe으로 인해 포함 된 페이지의 리디렉션처럼 앱 로직이 실패합니다.

최종 구현에서 iframe 코드를 사용하지 않더라도 JavaScript 용 플러그인과 CSS용 별도의 파일과 함께 In-Page embed 코드를 사용할 수 있습니다. 이렇게 하면 로직을 캡슐화하여 여러 플레이어에서 쉽게 사용할 수 있습니다.

구현 선택

이 예에서는 인 페이지 소스 코드로 테스트 한 다음 CSS 및 JavaScript 파일을 플레이어에 추가합니다. 그런 다음 플러그인을 배포합니다. 수평 볼륨 플러그인이 플레이어에 추가되면 iframe 구현을 사용할 수 있습니다.

사용 된 API 리소스

다음 섹션에서는 다양한 API에서 사용되는 리소스를 자세히 설명합니다.

Brightcove Player API 메서드

  • control_bar.addChild()
  • control_bar.removeChild()

더 플레이어

아래 플레이어에서 수평 볼륨 조절 막대가 기본 수직 조절 막대를 대체합니다.

작동 원리

다음 섹션에서는 예제에 사용 된 플레이어, JavaScript 및 CSS 코드를 설명합니다.

플레이어 만들기

플레이어를 만들고 비디오를 할당하려면 다음 단계를 따르십시오.

  • 플레이어 모듈에서 새 플레이어를만들거나 기존 플레이어를 사용합니다.
  • 미디어모듈에서 비디오를 선택하고이 플레이어와 함께 게시하십시오.플레이어에게 비디오 콘텐츠를 할당하고 게시합니다.
  • 페이지 내장 코드를 복사하여 새 HTML 파일에 붙여 넣습니다.

플레이어 코드

인 페이지 소스 코드는 다음과 유사해야합니다.

    <video-js id="video_1"
      width="640px" height="360px"
      data-video-id="4172255216001"
      data-account="1752604059001"
      data-player="default"
      data-embed="default"
      controls=""></video-js>
    <script src="//players.brightcove.net/1752604059001/default_default/index.min.js"></script>

스타일 시트

이 예에서는 Brightcove Player에 CSS 스타일을 사용합니다.

  • 9-22 행 : 컨트롤 막대에서 요소의 순서를 설정합니다. 이 예제는 음소거 컨트롤과 볼륨 컨트롤을 진행률 표시 줄 뒤, 전체 화면 버튼 앞에 배치합니다.

    컨트롤 막대 아이콘 순서 설정에 대한 자세한 내용은플레이어 모양 사용자 지정문서.

  • 24-26 행 : 진행률 표시 줄과 더 잘 일치하도록 볼륨 컨트롤 주변의 기본 그림자를 제거합니다.
  • 27-34 행 : 볼륨 컨트롤의 높이와 배경색을 설정합니다.
  • 라인 수: 볼륨 컨트롤 오른쪽에 패딩을 추가하여 전체 화면 버튼과 겹치지 않도록합니다.
    <style type="text/css">
        /* Order of controls in bar, should flow in before fullscreen button.  */
        .vjs-mute-control {
          order: 7;
          -webkit-box-ordinal-group: 7;
          -moz-box-ordinal-group: 7;
          -webkit-order: 7;
          -ms-flex-order: 7;
        }
        .vjs-volume-control {
          order: 8;
          -webkit-box-ordinal-group: 8;
          -moz-box-ordinal-group: 8;
          -webkit-order: 8;
          -ms-flex-order: 8;
        }
        /* Better match progress bar */
        .video-js.video-js .vjs-volume-bar:before {
          box-shadow:none;
        }
        .video-js.video-js .vjs-volume-bar,
        .video-js.video-js .vjs-volume-bar:before,
        .video-js.video-js .vjs-volume-level {
          height: 4px;
        }
        .video-js.video-js .vjs-volume-handle {
          background-color: initial;
        }
        /* Additional padding to reduce inadvertently covering the fullscreen button */
        .vjs-volume-control {
          padding-right: 5px;
        }
    </style>

자바 스크립트 코드

페이지 코드에 다음 JavaScript를 추가하십시오.

  • 57호선: 준비가되면 플레이어에 대한 참조를 가져옵니다.
  • 59호선: 플레이어의 컨트롤 막대에 대한 참조를 가져옵니다.
  • 60호선: 볼륨 메뉴 버튼에 대한 참조를 가져옵니다.
  • 61-62 행 : 컨트롤 막대에 음소거 버튼과 볼륨 조절 요소를 추가합니다.

  • 지하철 63호선 컨트롤 막대에서 기본 볼륨 메뉴 버튼을 제거합니다.
    <script id="pageScript" type="text/javascript">
        var myPlayer;

        videojs.getPlayer('video_1').ready(function(){
            myPlayer = this;

            var control_bar = myPlayer.controlBar;
            var vmb = control_bar.volumeMenuButton;
            control_bar.addChild('VolumeControl');
            control_bar.addChild('MuteToggle');
            control_bar.removeChild(vmb);
        });
    </script>

플러그인 사용

이 기능을 여러 플레이어에 쉽게 추가 할 수 있도록 플러그인을 사용하는 것이 가장 좋습니다.

CSS 파일 만들기

CSS 스타일을 파일로 이동하고 인터넷 액세스 가능 URL에 배치합니다.

  1. CSS 스타일에 대한 새 파일을 만듭니다. 이 경우 이름을horizontal-volume.css .
  2. 에서<head> HTML 파일의 섹션에 다음 링크를 추가하여 새로 만든 CSS 파일을 포함합니다.
    <link href="horizontal-volume.css" rel="stylesheet"> 
  3. HTML 페이지를 탐색합니다. HTML 페이지에서 스타일이 제거 된 경우를 제외하고는 수평 볼륨 컨트롤이 표시됩니다.

JavaScript 파일 만들기

플러그인의 JavaScript 코드를 파일로 이동하고 인터넷에 액세스 할 수있는 URL에 배치합니다.

  • 플러그인 JavaScript 코드에 대한 새 파일을 만듭니다. 이 경우 이름을horizontal-volume.js .
  • 기본 HTML 파일에서 JavaScript 코드를 잘라내어이 새 파일에 붙여 넣습니다.
  • 77,85 행 : 다음을 사용하여 JavaScript 코드를 래핑하십시오. videojs.registerPlugin()함수. 첫 번째 주장, horizontalVolume는 플러그인 이름입니다.
  • 78 행 : 플레이어에 대한 참조를 가져옵니다.
  • 나머지는 이전 섹션에서 검토 한 JavaScript 코드입니다.
/**
 * Horizontal Volume
 */
videojs.registerPlugin('horizontalVolume', function() {
    var myPlayer = this,
    control_bar = myPlayer.controlBar,
    vmb = control_bar.volumeMenuButton;

    control_bar.addChild('VolumeControl');
    control_bar.addChild('MuteToggle');
    control_bar.removeChild(vmb);
});
  1. HTML 파일에서 기존<script>태그 바로 아래에 다음 코드를 추가합니다. 이 코드는 자바 스크립트 파일을 포함 한 다음 해당 자바 스크립트에 정의 된 메소드를 호출합니다.
    <script type="text/javascript" src="horizontal-volume.js"></script>
    <script>videojs.getPlayer('video_1').horizontalVolume();</script>
  2. HTML 페이지를 탐색합니다. HTML 페이지에서 JavaScript 코드가 제거 된 경우를 제외하고 수평 볼륨 컨트롤이 표시됩니다.

플러그인 및 CSS 배포

플레이어 모듈을 사용하여 오버레이 버튼 플러그인을 배포하려면 다음 단계를 따르세요.

  1. 새로운 Video Cloud Studio에서플레이어모듈을 찾아 플레이어를 찾습니다.
  2. 플레이어에 대한 링크를 클릭하여 플레이어 속성을 엽니다.
  3. 플러그인 섹션을 찾고 편집을 클릭합니다.
  4. 에 대한자바 스크립트 URL , 플러그인의 JavaScript를 저장 한 위치를 지정하는 URL을 입력하십시오.
  5. 에 대한 CSS URL , 플러그인의 CSS를 저장 한 위치를 지정하는 URL을 입력하십시오.
  6. 에 대한이름 , 시작하다 horizontalVolume .
  7. 이 플러그인에는 옵션이 없으므로 플러그인 옵션 섹션을 비워 둘 수 있습니다.
  8. 저장을클릭한 다음 플레이어게시를클릭합니다.

iframe 사용

iframe 플레이어 구현을 사용하는 것이 가장 좋습니다. 이 예에서 가능한 경우 인 페이지 삽입 구현을 iframe 구현으로 바꿉니다.

  1. 에서미디어모듈에서 동영상을 선택하고이 플레이어로 게시합니다.돌아 가기플레이어기준 치수.
  2. iframe 소스 코드를 복사하여 새 HTML 파일에 붙여 넣습니다. 코드는 다음과 비슷해야합니다.

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="UTF-8">
        <title>Brightcove Player: Horizontal Volume - iframe</title>
    </head>
    
    <body>
        <iframe style='width: 640px;height: 360px;' src='//players.brightcove.net/1752604059001/b42edc12-2ac9-48a9-92bc-fbdb5ca9aed7_default/index.html?videoId=4172255216001' allowfullscreen allow='encrypted-media'></iframe>
    
    </body>
    </html>
  3. HTML 페이지를 탐색합니다. 플러그인이 올바르게 작동하는지 확인해야합니다.