2016-10-24 7 views
0

Ich verwende video.js Player mit HLS. Ich möchte HTTP-Antwortcode für jede fehlgeschlagene Anfrage erkennen, die video.js macht, um ein Video abzuspielen. Wenn eine Antwort beispielsweise 304 ist, muss mein Code eine spezielle Aktion ausführen (eine Nachricht anzeigen).Wie HTTP-Response-Code zu erkennen?

player.on('error', ...) bietet keine solchen Informationen. Sowie tech Level-Fehler.

Ich brauche so etwas wie: player.on('request', function(response) { ... }

Antwort

0

Die beste Lösung, die ich gefunden wickelt video.xhr Objekt mit speziellen Handler.

Beispiel des Codes (mit underscore.js Bibliothek):

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]); 
     });