2016-10-24 12 views
0

私はvideo.js HLSのプレーヤーを使用します。 失敗した要求ごとにHTTP応答コードを検出したい場合は、video.jsが動画を再生します。たとえば、応答が304の場合、私のコードは特別なアクション(メッセージを表示)を行う必要があります。どのようにHTTP応答コードを検出するには?

player.on('error', ...)は、そのような情報を提供していません。同様にtechレベルエラー。

私のようなものが必要です: player.on('request', function(response) { ... }

答えて

0

私が見つけた最善の解決策は、特別なハンドラでvideo.xhrオブジェクトをラップされています。

コードの例(underscore.jsライブラリを使用して):

videojs.xhr = _.wrap(videojs.xhr, function(fn, options, callback) { 

      var wrapped_callback = _.wrap(callback, function(cb_fn, error, response) { 
       var args = _.rest(arguments, 1); 
       console.log('Error', error); 
       console.log('Response', response); 
       var res = cb_fn.apply(this, args); 
       return res; 
      }); 

     return fn.apply(this, [options, wrapped_callback]); 
     }); 
関連する問題