2017-10-18 11 views
0

Je veux contrôler dash.js-2.6.1 video player à distance afin que je puisse le faire lire la vidéo à un débit spécifique de la liste de débit qu'elle attrape à partir du fichier manifeste (* .mpd). Il est évident que cela peut être fait en utilisant la case à cocher bitrate du lecteur situé sur la barre de contrôle de la fenêtre du lecteur, mais je veux le faire en arrière-plan, à distance et plusieurs fois pendant la lecture vidéo. En d'autres termes, je veux savoir quelle fonction dans le source code of the player attrape la valeur de débit sélectionnée par l'utilisateur sur la case à cocher et alimenter cette fonction manuellement et à distance.Comment régler le lecteur vidéo dash.js-2.6.1 pour qu'il joue sur un débit spécifique sans utiliser la case à cocher correspondante sur la barre de contrôle du lecteur?

J'apprécierai n'importe qui qui me guide comment atteindre mon but même par une autre méthode.

Répondre

0

Regardez la source de MediaPlayer.js:

La fonction que vous voulez regarder est 'setQualityFor':

/** 
    * Sets the current quality for media type instead of letting the ABR Heuristics automatically selecting it. 
    * This value will be overwritten by the ABR rules unless setAutoSwitchQualityFor(type, false) is called. 
    * 
    * @param {string} type - 'video' or 'audio' 
    * @param {number} value - the quality index, 0 corresponding to the lowest bitrate 
    * @memberof module:MediaPlayer 
    * @see {@link module:MediaPlayer#setAutoSwitchQualityFor setAutoSwitchQualityFor()} 
    * @see {@link module:MediaPlayer#getQualityFor getQualityFor()} 
    * @instance 
    */ 
    function setQualityFor(type, value) { 
     if (!playbackInitialized) { 
      throw PLAYBACK_NOT_INITIALIZED_ERROR; 
     } 
     abrController.setPlaybackQuality(type, streamController.getActiveStreamInfo(), value); 
    } 
+0

Cher Mick – Maher

+0

Remercions Souhaitez-vous s'il vous plaît instruis-moi comment utiliser cette fonction? J'ai ajouté ces deux lignes << player.setAutoSwitchQuality (false); player.setQualityFor ("video", 0); >> visant à faire jouer au joueur avec le moins de bitrate mais rien ne s'est passé! – Maher

+0

Le regard sur onFragmentLoadProgress dans AbrController.js. Ceci appelle setPlaybackQuality qui cals changeQuality qui appelle ensuite setQualityFor. Cela devrait vous donner une idée de l'utilisation et des paramètres, etc. – Mick