IVS Player SDK: JW Player 統合
このドキュメントでは、Amazon Interactive Video Service (IVS) JW Player 統合で利用可能な最も重要な機能について説明します。
JW Player 統合の最新バージョン: 1.45.0 (リリースノート)
概要
JW Player に対する Amazon IVS サポートは、プロバイダーを通じて実装されます。Amazon IVS プロバイダーは、JW Player の Web プレイヤーでのみサポートされています。プロバイダーはスクリプトタグを介してロードされます。Amazon IVS プロバイダーの再生を必要とするストリームは、プレイリストのtype: 'ivs'でタグ付けされている必要があります。Amazon IVS は JW Player のバージョン 8.18.4 以降をサポートしています。
セットアップ
以下の手順において、JW_PLAYER_DIVは JW Player インスタンスの<div>の名前です。IVS_STREAMは、IVS 再生 URL です。Amazon IVS プロバイダーをセットアップして再生を有効にするには
-
次の
scriptタグ (この場合のプレイヤー統合の最新バージョンは 1.45.0) を含めます。<script src="https://player.live-video.net/1.45.0/amazon-ivs-jw-provider.min.js"></script> -
ivsタイプを使用して、IVS プレイリスト項目をマークします。setup()のcast値をnullへ設定します (Chromecast はサポートされていないため)。jwplayer(JW_PLAYER_DIV).setup({ playlist: [{ file:IVS_STREAM, type: 'ivs', }] }); -
基盤となる Amazon IVS Player への参照を使用して Amazon IVS Player API を呼び出す場合や、コールバック処理のために Amazon IVS 固有の列挙型への参照が必要な場合は、
'providerPlayer'イベントへリスナーを追加します。jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) { // player object has 'ivsPlayer' and 'ivsEvents' properties // ...callback code... });
サンプルコード
この例では、JW_PLAYER_LIBは JW Player ライブラリスクリプトへの URL で、IVS_STREAMは IVS 再生 URL です。
<!DOCTYPE html> <html lang="en"> <head> <script src=JW_PLAYER_LIB></script> <script src="https://player.live-video.net/1.45.0/amazon-ivs-jw-provider.min.js"></script> </head> <body> <div id='player'></div> <script> // set default values for ivsPlayer and ivsEvents var ivsPlayer = {}; var ivsEvents = {}; // define our player setup const ivsConfig = { playlist: [{ file: IVS_STREAM, type: 'ivs', }] }; jwplayer('player') .setup(ivsConfig) .on('providerPlayer', function (player) { console.log('Amazon IVS Player: ', player.ivsPlayer); console.log('Amazon IVS Player Events: ', player.ivsEvents); // store the reference to the Amazon IVS Player ivsPlayer = player.ivsPlayer; // store the reference to the Amazon IVS Player Events ivsEvents = player.ivsEvents; }); </script> </body> </html>
イベント
スタンダードの JW Player イベントをリッスンするには、JW Player のオン
Amazon IVS 固有のイベントをリッスンする、または Amazon IVS Web プレイヤーでイベントリスナーを追加または削除するには、'providerPlayer'イベントをリッスンして Amazon IVS Player への参照を取得し、それにイベントリスニングを追加します。例:
// store a default value for ivsPlayer var ivsPlayer = {}; // store references to the Amazon IVS Player and Amazon IVS Events: jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) { ivsPlayer = player.ivsPlayer; }); // set up event listening ivsPlayer.addEventListener(event, callback); ivsPlayer.removeEventListener(event, callback);
callback はユーザーの定義するコールバックで、event は PlayerEventType、PlayerState、ErrorTypeのいずれかです。イベントの詳細については、「Amazon IVS Player SDK: Web Reference
'providerPlayer'イベントは JW Player によって発行され、そのイベントで登録したコールバックは、次のフィールドを持つオブジェクトを受け取ります。
| フィールド | 説明 |
|---|---|
|
|
基になる Amazon IVS プレイヤーインスタンスを返します。完全な Amazon IVS Player Web API は、このインスタンスから利用できます。ベーシックな JW Player 再生 API を可能な限り使用し、この機能を使用して Amazon IVS 固有の機能へアクセスすることをお勧めします。Amazon IVS プレイヤーインスタンスでアクセスする必要がある最も一般的な機能は、 |
|
|
関連付けられた Amazon IVS 固有の列挙型にマップされた、 |
エラー
一般的な JW Player のエラーについては、JW Player のオン
Amazon IVS 固有のエラーについては、Amazon IVS プレイヤーでその固有のエラーをリッスンします。
// set default values for ivsPlayer and ivsEvents var ivsPlayer = {}; var ivsEvents = {}; // store references to the Amazon IVS Player and Amazon IVS Events jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) { ivsPlayer = player.ivsPlayer; ivsEvents = player.ivsEvents; }); // set up event listening: let playerEvent = ivsEvents.PlayerEventType; ivsPlayer.addEventListener(playerEvent.ERROR, callback);
コールバックは、次のフィールドを持つオブジェクトを受け取ります。
| フィールド | 説明 |
|---|---|
|
|
エラータイプ。 |
|
|
エラーコードです。 |
|
|
エラーのソース。 |
|
|
人が判読できるエラーメッセージ。 |
コンテンツセキュリティポリシー
Amazon IVS プロバイダー API は、コンテンツセキュリティポリシー (CSP: Content Security Policy) を使用するページで動作するように設定されています。IVS Player SDK: ウェブガイドの「コンテンツセキュリティポリシーの操作」のセクションを参照してください。
制限
プロバイダーはキャストをサポートしていません。JW Player ダッシュボードでキャストを有効にした場合は、setup()を呼び出すときにcast~nullを設定することで無効にできます。これにより、キャストボタンが非表示になります。