エラーおよびエラー処理

エラー処理関数およびイベントを使用してプレイヤーエラーに関する情報を取得します。

Ooyalaプレイヤーエラー関数とイベントを以下の表で説明します。

エラー関数

次の表はサポートしているエラー処理関数を説明しています。

関数 説明
getError ビデオエラーコードを表示
getErrorText エラーメッセージを表示
getState 現在のプレイヤーのステータスを取得します。OO.STATEに   定義されているステータスは以下の通りです。
  • LOADING
  • READY
  • PLAYING
  • PAUSED
  • BUFFERING
  • ERROR
  • DESTROYED

エラーメッセージ

このテーブルはV3 JavaScript Message Busで扱うエラーメッセージを要約しています。
Error Description
OO.ERROR.API.NETWOR 後でご確認ください。
OO.ERROR.API.SAS.GENERIC ビデオを認証できません。
OO.ERROR.API.SAS.GEO この地域ではこのビデオは許可されていません。
OO.ERROR.API.SAS.DOMAIN お使いのドメインではこのビデオは許可されていません。
OO.ERROR.API.SAS.FUTURE このビデオはしばらくすると再生可能になります。
OO.ERROR.API.SAS.PAST このビデオは、既に御利用いただけません。
OO.ERROR.API.SAS.DEVICE このビデオは、このデバイスでの再生は許可されていません。
OO.ERROR.API.SAS.CONCURRENT_STREAMS 最大同時接続数を超えています。
OO.ERROR.API.SAS.INVALID_HEARTBEAT 不正なハートビートレスポンスです。
OO.ERROR.API.CONTENT_TREE 不正なコンテンツです。
OO.ERROR.API.METADATA 不正なメタデータです。
OO.ERROR.PLAYBACK.GENERIC このコンテンツを再生できませんでした。
OO.ERROR.PLAYBACK.STREAM このビデオは、お使いのデバイス向けにエンコードされていません。
OO.ERROR.PLAYBACK.LIVESTREAM ライブ公開はされておりません。
OO.ERROR.PLAYBACK.NETWORK ネットワークに一時的に接続できません。
OO.ERROR.UNPLAYABLE_CONTENT このビデオは、このプレーヤーでは再生できません。
OO.ERROR.INVALID_EXTERNAL_ID External IDが不正です。
OO.ERROR.EMPTY_CHANNEL このチャンネルは空です。
OO.ERROR.EMPTY_CHANNEL_SET このチャンネルセットは空です。
OO.ERROR.CHANNEL_CONTENT このチャンネルは、現在再生できません。
OO.ERROR.STREAM_PLAY_FAILED このビデオは、お使いのデバイス向けにエンコードされていません。
OO.ERROR.ADOBE_PASS_AUTHENTICATE このビデオを視聴するには、御利用のTVプロバイダのIDでログインしてください。
OO.ERROR.ADOBE_PASS_TOKEN このビデオの視聴を許可されていません。
OO.ERROR.API.SAS.PROXY 匿名プロキシが検出されました。匿名プロキシを無効化して再試行してください。
OO.ERROR.API.SAS.ERROR_DEVICE_INVALID_AUTH_TOKEN 不正なOoyalaプレーヤートークンです。
OO.ERROR.API.SAS.ERROR_DEVICE_LIMIT_REACHED デバイス制限に達しました。
OO.ERROR.API.SAS.ERROR_DEVICE_BINDING_FAILED デバイスの紐付けに失敗しました。
OO.ERROR.API.SAS.ERROR_DEVICE_ID_TOO_LONG デバイスIDが長すぎます。
OO.ERROR.API.SAS.ERROR_DRM_RIGHTS_SERVER_ERROR DRMサーバーからの一般的なSOAPエラーが、サーバーからイベントへメッセージを渡します。
OO.ERROR.API.SAS.ERROR_DRM_GENERAL_FAILURE ライセンス取得における一般的なエラー。

エラーイベント

次の表は、メッセージバスが発行するエラー処理イベントの説明です。

関数 説明
PLAYER_CREATED プレイヤーの作成直後に発行される最初のメッセージは、すべてのプラグインに対して 初期化するように通知するために使用します。
ERROR エラー発生時に発行されます。2番目のパラメータにはエラー詳細が入ります。
DESTROY プレイヤーが破棄された時に発行されます。

エラーイベントへの対応

ERROR イベントはメッセージバスに対して 発行されます。こちらでエラーイベントへの対応法を説明します。
エラー処理の方法には2種類の設計オプションがあります。
  • mb.subscribe はエラーが発生すると、指定した関数 (コールバック関数)を トリガします。そしてエラーは引き続き、他のサブスクライバに浸透していきます。
  • mb.intercept はエラー通知を取得し将来的なサブスクライバのために ペイロードを変更することができます。つまり、エラーをインターセプトすることにより、必要に応じて エラーメッセージを変更することができます。
おそらく、もっとも実用的な推奨例はmb.subscribeの使用して、すでに実装 されているであろうエラー処理関数 (コンソールに表示、再生を停止、エラー画面を表示など) に従ってエラーを処理する ことです。
以下のmb.subscribeの例では、コールバック関数の YourErrorHandlingFunctionNameHereERRORイベントが メッセージバスに発行されると呼び出されます。
<div id='playerwrapper' style='width:480px;height:360px;';gt
<script>
var videoPlayer = OO.Player.create('playerwrapper','someEmbedCode, { onCreate: function(player) {   
    player.mb.subscribe('*','myPage', function(eventName) {});
    // Preserve message bus
    window.mb = player.mb ;
    }
   });

// Subscribe to error event
mb.subscribe("error", "test-plugin", function(eventName, payload) {  
 YourErrorHandlingFunctionNameHere(yourArgs); });
.
.
.

</script>
</div>
   
以下の mb.interceptの例では、エラー発生時に "Houston, we have a problem."というメッセージがJavaScriptコンソールに表示されます。

//Intercept error
mb.intercept("error", "test-plugin", function(eventName, payload) { return ["Houston, we have a problem."]; });
   

この記事はお役にたちましたか?