/js-player-module-brightcove

Brightcove custom player using the Brightcove Player API.

Primary LanguageTypeScriptMIT LicenseMIT

PLAYER MODULE BRIGHTCOVE


Feature

Brightcove custom player using the Brightcove Player API. The official document is here. -> https://docs.brightcove.com/brightcove-player/current-release/Player.html


Demo


Installation,Download


Using

NPM Usage

# install npm.
npm install --save js-player-module-brightcove
// import.
import PLAYER_MODULE_BRIGHTCOVE from 'js-player-module-brightcove';

Basic Standalone Usage

<script src="./js-player-module-brightcove.js"></script>
<div id="brightcovePlayer1">
  <script>
    new PLAYER_MODULE_BRIGHTCOVE({
      id: 'brightcovePlayer1',
      videoid: '4230322585001',
      account: '20318290001'
    });
  </script>
</div>

Sample Code

①BASIC Player

<div id="brightcovePlayer1">
  <script>
    new PLAYER_MODULE_BRIGHTCOVE({
      id: 'brightcovePlayer1',
      videoid: '4230322585001',
      account: '20318290001'
    });
  </script>
</div>

②Original image Player

<div id="brightcovePlayerOriginalimage">
  <script>
    new PLAYER_MODULE_BRIGHTCOVE({
      id: 'brightcovePlayerOriginalimage',
      videoid: '4230322585001',
      account: '20318290001'
      ui_default: false
    });
  </script>
  <div class="player__btn">
    <div class="btn_play"><img class="on" src="http://placehold.jp/14/333/ddd/120x30.png?text=PLAY" alt=""><img class="off" src="http://placehold.jp/14/ddd/333/120x30.png?text=PLAY" alt=""></div>
    <div class="btn_pause"><img class="on" src="http://placehold.jp/14/333/ddd/120x30.png?text=PAUSE" alt=""><img class="off" src="http://placehold.jp/14/ddd/333/120x30.png?text=PAUSE" alt=""></div>
    <div class="btn_stop"><img class="on" src="http://placehold.jp/14/333/ddd/120x30.png?text=STOP" alt=""><img class="off" src="http://placehold.jp/14/ddd/333/120x30.png?text=STOP" alt=""></div>
    <div class="btn_mute"><img class="on" src="http://placehold.jp/14/333/ddd/120x30.png?text=MUTE" alt=""><img class="off" src="http://placehold.jp/14/ddd/333/120x30.png?text=MUTE" alt=""></div>
  </div>
</div>

③AUDIO Player

<div id="brightcovePlayerAudio">
  <script>
    new PLAYER_MODULE_BRIGHTCOVE({
      mode: 'audio',
      id: 'brightcovePlayerAudio',
      videoid: '4230322585001',
      account: '20318290001'
    });
  </script>
</div>

④ Full Custom Player

<div id="brightcovePlayerCustom">
  <script>
    var PMB = new PLAYER_MODULE_BRIGHTCOVE({
      mode: 'movie',

      id: 'brightcovePlayerCustom',
      ui_controls: true,
      ui_autoplay: false,
      ui_default: true,
      ui_default_css : true,

      videoid: '4230322585001',
      account: '20318290001',
      player: 'default',

      loop: false,
      muted: false,
      volume: 0.5,
      stop_outfocus : true,

      width: '480px',
      height: '300px',

      poster: 'https://placehold.jp/750x500.png',

      add_style : '',
      classname_loaded_wrap : 'is-pmb-loaded-wrap',
      classname_active_wrap : 'is-pmb-active-wrap',
      classname_active: 'is-pmb-active',
      on: {
        PlayerInit: function(player){
          console.log('PlayerInit', player);
          console.log(player.GetMediaInfo());
          console.log(player.GetPoster());
        },
        PlayerEnded: function(player){
          console.log('PlayerEnded', player);
        },
        PlayerPlay: function(player){
          console.log('PlayerPlay', player);
        },
        PlayerPause: function(player){
          console.log('PlayerPause', player);
          console.log(player.GetTime());
          console.log(player.GetTimeMax());
          console.log(player.GetTimeRatio());
          console.log(player.GetTimeDown());
        },

        TimeUpdate : function(obj){
          console.log('TimeUpdate', obj);
        },
        VolumeChange : function(obj){
          console.log('VolumeChange', obj);
        },

        Play: function(player){
          console.log('Play', player);
        },
        PlayPrep: function(player){
          console.log('PlayPrep', player);
        },
        Pause: function(player){
          console.log('Pause', player);
        },
        Stop: function(player){
          console.log('Stop', player);
        },
        StopAll: function(player){
          console.log('StopAll', player);
        },
        Change: function(player){
          console.log('Change', player);
          console.log(player.GetMediaInfo());
          console.log(player.GetPoster());
        }
      }
    });
  </script>

  <button class="btn btn-secondary" onclick="PMB.Play()">Media再生(Play)</button>
  <button class="btn btn-secondary" onclick="PMB.Stop()">Media停止(Stop)</button>
  <button class="btn btn-secondary" onclick="PMB.PauseAll()">Media全一時停止(PauseAll)</button>
  <button class="btn btn-secondary" onclick="PMB.StopAll()">Media全停止(StopAll)</button>

  <button class="btn btn-secondary" data-PMB-id="4230322585001" onclick="PMB.Change('4230322585001')">Media変更 id=4230322585001</button>
  <div class="btn btn-secondary" data-PMB-id="4231692338001" onclick="PMB.Change('4231692338001')">
    Media変更 id=4231692338001<br><br>
    <p class="ui-time">00:00</p>
    <p class="ui-time_down">00:00</p>
  </div>

  <button class="btn btn-secondary" onclick="PMB.SeekTo(30)">Media再生位置変更(SeekTo 30s)</button>
  <button class="btn btn-secondary" onclick="PMB.SeekTo(60)">Media再生位置変更(SeekTo 60s)</button>
</div>

API

Default

Parameter Type Default Description
id string - ※省略不可 プレーヤーを出力する要素のidを設定します。
videoid string - ※省略不可 動画のvideoidを設定します。
account string - ※省略不可 BrightcovePlayerのaccountを設定します。

Options

Parameter Type Default Description
playsinline boolean true iOS10+でインライン再生をするかを指定します。
デフォルトでは、playsinline属性が設定され、インライン再生されます。
falseを指定するとiOS10+では全画面にプレーヤーが立ち上がります。
volume number 1 初期の音量を指定します。(0.0~1.0)
デフォルトでは、1(最大音量)がセットされます。
※機種、ブラウザに依存します。
ui_controls boolean false controlを表示するかしないかを指定します。
デフォルトでは、表示されません。
ui_default boolean true ライブラリであらかじめ用意したUIパーツを表示するかしないかを指定します。
デフォルトは、表示されます。
falseを指定すると出力されません。
ui_default_css boolean true ライブラリであらかじめ用意したCSSを出力するかしないかを指定します。
デフォルトは、CSSを出力します。
falseを指定すると出力されません。
ui_autoplay boolean false 自動再生をするか指定します。
デフォルトでは、自動再生はされません。
trueを設定すると、動画のロードが完了すると自動再生を開始します。
stop_outfocus boolean false フォーカスが外れた時に自動停止するか指定します。
デフォルトでは、自動停止しません。
trueを設定すると、フォーカスが外れた時にメディアが自動停止します。
mode string 'movie' 'movie' -> 動画モード
'audio -> 音声モード

デフォルトでは、動画モードになります。
動画か音声のみかを簡単に切り替えが出来ます。
'audio'を設定すると、動画が表示されません。
poster string null 動画のポスター画像を設定できます。
画像のパスを設定することで、サムネイルとして読み込まれます。

Dependencies

none





Licence

MIT


Author

yama-dev