2016-10-24 86 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]); 
     }); 
相关问题