プレーヤーの例
プラグインは、プレーヤーの上に任意のWeb準備ができた画像オーバーレイを表示するために使用することができます。メッセージの表示は、次の項目に基づいて制御できます。
- 場所-画像はプレーヤー上の異なる場所に表示することができます
- プレーヤーイベント-
play
、pause
カスタムイベントなど - 時間間隔-ビデオ再生中の指定された時間
次の例では、プレーヤーの左下にロゴが表示されています。ビデオに5秒でロゴがゆっくりとフェードアウトします。
ペンを見るロゴオーバーレイプラグイン Brightcove Learning Services( @bcls) オンCodePen。
ソースコード
CodePen を使用する
上記のCodePenを効果的に使用するためのヒントは次のとおりです。
- [ 結果]ボタンをクリックして、プレーヤーの実際の表示を切り替えます。
- HTML/CSS/JSボタンをクリックして、いずれかのコードタイプを表示します。
- このドキュメントの後半では、アプリケーションで使用されるロジック、フロー、およびスタイル設定については、 Player/HTML設定、アプリケーションフロー、およびアプリケーションのスタイル設定で説明されます。セクション。これらのセクションの情報に沿って従う最も良い方法は、次のとおりです。
- CodePen の [ EDIT ON CODEPEN]ボタンをクリックし、1 つのブラウザ/ブラウザタブでコードを使用できるようにします。
- CodePen で、表示するコードを調整します。CodePen 内の異なるコードセクションの幅を変更できます。
- を見るプレーヤー/ HTML構成、アプリケーションフローおよび/またはアプリケーションのスタイリング別のブラウザ/ブラウザタブのセクション。これで、コードの説明に従い、同時にコードを表示できるようになります。
開発シーケンス
推奨される開発順序は次のとおりです。
- インページ埋め込みプレーヤーの実装を使用して、プレーヤー、プラグイン、CSS の機能をテストします (CSS が必要な場合)
- ローカルテストのためにプラグインのJavaScriptとCSSを別々のファイルに置く
- エラーを解決したら、プラグインコードとCSSをサーバーにデプロイします
- Studio を使用してプラグインと CSS をプレイヤーに追加する
- iframe の実装が適切であると判断した場合は、インページ埋め込みプレーヤーの実装を置き換えます (次のセクションで詳しく説明します)。
これらの手順の詳細については、「ステップバイステップ」を参照してください。プラグイン開発ガイド。
iframe またはページ内埋め込み
Brightcove Player の拡張機能を開発する際には、コードが iframe 実装またはページ内埋め込み実装に最も適しているかどうかを判断する必要があります。ベストプラクティスの推奨事項は、iframe 実装で使用するプラグインを構築することです。iframe プレーヤーを使用する利点は次のとおりです。
- 既存のJavaScriptおよび/またはCSSとの衝突はありません
- 自動応答性
- iframe は、ソーシャルメディアアプリ(または動画が他のアプリに「移動」する必要があるとき)での使用を容易にします。
インページ埋め込みプレーヤーの統合はより複雑になりますが、その実装に関するコードを計画する場合もあります。一般化するために、このアプローチは、包含ページがプレイヤーと通信する必要がある場合に最適です。具体的には、いくつかの例を挙げます。
- 含まれているページのコードは、プレイヤーイベントをリッスンして行動する必要があります
- プレーヤーは包含ページのスタイルを使用します
- iframe は、含まれているページからのリダイレクトのように、アプリロジックが失敗します。
最終実装で iframe コードを使用しない場合でも、JavaScript 用のプラグインと CSS 用の別のファイルを使用して、ページ内埋め込みコードを使用できます。これにより、ロジックがカプセル化され、複数のプレーヤーで簡単に使用できます。
API/プラグインリソースを使用
API メソッド | API イベント | Brightcove Playerプラグイン |
---|---|---|
オフ () | タイムアップデート | オーバーレイを表示 |
オン () | ||
CurrentTime () |
プレーヤー/HTML構成
このセクションでは、プレーヤーの作成時に必要な特別な設定について詳しく説明します。さらに、ページ内埋め込みプレーヤー実装コード以外に、ページに追加する必要があるその他の HTML 要素についても説明します。
プレーヤーの設定
このサンプル用に作成した Brightcove Player には、特別な設定は必要ありません。
その他のHTML
表示オーバーレイプラグインの JavaScript ファイルは、<script>
タグを使用してページにリンクされます。ディスプレイオーバーレイプラグインの CSS はページにリンクされていないことに注意してください。ページではカスタム CSS を使用して、変更を容易にします。
アプリケーションフロー
このアプリケーションの背後にある基本的なロジックは次のとおりです。
- 適切なタイミングでオーバーレイ画像を削除する関数が定義されています。
- 適切なタイミングでオーバーレイ画像を表示する関数が定義されています。
- カスタム構成オプションは、デフォルトのオプションとマージされます。既定のオプションは、カスタムオプションが指定されていない場合にのみ使用されます。
- この関数が呼び出され、オーバーレイイメージが表示されます。
オーバーレイを削除
ラベルが付いたコードを見つけます。
// ### Remove overlay ###
この関数は、オーバーレイイメージが最初に表示されたときに呼び出されます。この関数のロジックは、有効期限が設定されているかどうかを含め、オーバーレイイメージを削除する必要がある時期をチェックします。また、timeupdate
イベントリスナーも削除されます。
オーバーレイを追加
ラベルが付いたコードを見つけます。
// ### Add overlay function ###
オーバーレイプラグインは、ユーザ設定を使用してここで呼び出されます。設定によって、何を表示するか、表示する場所、および長さが決まります。有効期限をチェックするために、timeupdate
イベントリスナーが追加されます。
overlayOptions
オブジェクトを構築する
ラベルが付いたコードを見つけます。
// ### Call function to merge default options with passed in options ###
カスタム設定オプションとデフォルトオプションの両方が関数に渡されます。この関数は、対応するカスタムオプションが渡されない場合にのみ、デフォルトのオプションを使用します。
showoverlay
メソッドを呼び出す
ラベルが付いたコードを見つけます。
// ### Show overlay ###
オーバーレイ画像を表示する関数が呼び出されます。オプションによっては、イメージをすぐに表示することも、後で表示することもできます。
アプリケーションのスタイリング
長い CSS は、オーバーレイ画像の表示方法と画像の表示場所を定義します。表示オーバーレイプラグインのデフォルトCSSは、CSSのカスタマイズを容易にするために使用されません。
プラグインコード
通常、JavaScript を Brightcove Player プラグインに変換する場合は、公称の変更が必要です。必要な変更の 1 つは、ready()
メソッドの標準使用をプラグインを定義するコードに置き換えることです。
ここでは、プレーヤーで動作するJavaScriptコードへの非常に一般的に使用されるスタートです:
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
...
});
最初の行を変更して、標準の構文を使用して Brightcove Player プラグインを起動します。
videojs.registerPlugin('pluginName', function(options) {
var myPlayer = this;
...
});
前述のように、このドキュメントの対応する GitHub レポ: logo-overlay.js には、プラグインの JavaScript コードが表示されます。
プレーヤーでプラグインを使用する
プラグインの CSS ファイルと JavaScript ファイルをインターネットでアクセス可能な場所に保存したら、プレーヤーでプラグインを使用できます。Studio の PLAYERS モジュールでは、プレーヤーを選択し、[ プラグイン] セクションで CSS ファイルと JavaScript ファイルに URL を追加し、[ 名前]とオプション (オプションが必要な場合)。このプラグインの場合、オプションは、ほとんどの場合、次の形式でプラグインに渡されます。
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
myPlayer.logoOverlay(
{
'align': 'bottom-left',
'imageURL' : 'https://solutions.brightcove.com/bcls/brightcove-player/logo-overlay/bc-logo.png',
'clickThruURL': 'https://support.brightcove.com/',
'start': 'loadstart',
'end': 5
}
)
});