プレーヤーの例
次の使用例は、オーバーレイを表示し、プレーヤーコントロールと再生ボタンを非表示にします。ユーザーがオーバーレイテキストをクリックして年齢を確認すると、コントロールが表示され、ビデオが再生されます。テキストをクリックして機能をテストします。
ペンを見る18149-brightcove-player-sample-age-gate Brightcove Learning Services( @ rcrooks1969) オン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プラグイン |
---|---|---|
removeClass () | ロードされたメタデータ | videojs オーバーレイ |
プレイ () |
プレーヤー/HTML構成
このセクションでは、プレーヤーの作成時に必要な特別な設定について詳しく説明します。さらに、ページ内埋め込みプレーヤー実装コード以外に、ページに追加する必要があるその他の HTML 要素についても説明します。
プレーヤーの設定
オーバーレイプラグインは、Studioで次のように構成されました。
名前:
overlay
オプション:
{
"content": "<strong>Default overlay content</strong>",
"overlays" : [{
"content" : "<div id='ageGateButton'>By clicking here you certify that you are over 18 years old</div>",
"start" : "loadedmetadata",
"end" : "play"
}]
}
その他のHTML
他の HTML 要素はページに追加されません。
アプリケーションフロー
このアプリケーションの背後にある基本的なロジックは次のとおりです。
- クリック可能なオーバーレイテキストを表示します。
- プレーヤーコントロールと再生ボタンを非表示にします。
- ユーザーがオーバーレイテキストをクリックすると、オーバーレイを削除し、ビデオの再生を開始します。
オーバーレイテキストを表示
オーバーレイプラグインは、ビデオがロードされるとすぐに表示されます。年齢ゲートのテキストは、オーバーレイプラグイン内で定義されます。ここでは、我々はまた、id
属性を持つテキストを割り当てているので、我々は我々のJavaScriptコード内でそれを参照することができます。
イベントリスナーの追加
ラベルが付いたコードを見つけます。
// +++ Set up listening for when the user clicks the age verification text +++
年齢ゲートのテキストに、イベントのイベントリスナーを追加します。click
ユーザーが年齢ゲートのテキストを選択したら、オーバーレイを削除し、ビデオの再生を開始します。
アプリケーションのスタイリング
CSS は、オーバーレイと年齢ゲートのテキストをオーバーレイ内に配置します。コントロールバーと再生ボタンを隠すスタイルもあります。
プレイヤーコントロールを隠す
CSSを使用して大きな再生ボタンとコントロールバーを隠す方法を詳しく見てみましょう。Brightcove Player の外観の変更に関する概要については、『プレーヤーの外観のカスタマイズ』ガイドを参照してください。
まず、プレーヤーの大きな再生ボタンを隠すようにスタイルを変更しましょう。
- Chrome ブラウザで、開発者ツールを開きます。
- プレーヤーを右クリックし、[ 要素を検査] を選択します。
- の中に要素のセクション開発者ツール、大きな再生ボタンに関連付けられているHTMLを選択します。
- の中にスタイルセクションでは、元の
display
の値を持つプロパティblock
に設定されています<div>
素子。大きな再生ボタンを隠す - CSS値をオーバーライドすると、より具体的なスタイルはより具体性の低いスタイルよりも優先されます。要素は、最も低い特異性値を持っているので、
vjs-big-play-button
我々は単にクラスを指定することにより、表示プロパティをオーバーライドすることができます。 -
下の大きな再生ボタンについては、私たちのCSSを見てください。この例では、
vjs-big-play-button
video-agelist
クラス名の要素のdecendentsであるクラス名を持つすべての要素を選択言っています。JavaScriptコードでは、video-agelist
クラスをプレーヤーに追加しました。video-agelist.video-js .vjs-control-bar, .video-agelist .vjs-big-play-button { display: none; }
次に、プレイヤーのコントロールバーを非表示にするようにスタイルを変更しましょう。
- の中に要素のセクション開発者ツール、プレーヤーのコントロールバーに関連付けられているHTMLを選択します。
- [ スタイル] セクションでは、
display
値を持つ元のプロパティがセレクタの 3flex
つのクラス属性で設定されていることがわかります。コントロールバーを隠す - コントロールバーのスタイルをオーバーライドするには、クラスを含めて、
vjs-control-bar
セレクタに少なくとも3つのクラス属性が必要です。 - 下のコントロールバーのCSSを見てください。この例では、
vjs-control-bar
我々はとのクラス名の両方を持つ要素のdecendentsであるのクラス名を持つすべての要素を選択言っているvideo-agelist
のクラス名video-js
。.video-agelist.video-js .vjs-control-bar, .video-agelist .vjs-big-play-button { display: none; }
特異度値の計算の詳細は、「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 レポ: age-gate.js には、プラグインの JavaScript コードが表示されます。
プレーヤーでプラグインを使用する
プラグインの CSS ファイルと JavaScript ファイルをインターネットでアクセス可能な場所に保存したら、プレーヤーでプラグインを使用できます。Studio の PLAYERSモジュールでは、プレーヤーを選択し、[ プラグイン ] セクションで CSS ファイルと JavaScript ファイルに URL を追加し、名前を追加することもできます。オプションが必要な場合は、[Options] と [Options]