2017-10-18 155 views
0

我想遠程控制dash.js-2.6.1 video player,這樣我就可以使它從它從(* .mpd)清單文件捕獲的比特率列表中以特定比特率播放視頻。 很明顯,可以使用位於播放器窗口控制欄上的播放器的比特率複選框完成此操作,但我希望在後臺執行此操作,在視頻播放過程中可以遠程執行此操作,並且可以多次執行此操作。 換句話說,我想知道source code of the player中的哪個函數捕獲用戶在複選框中選擇的比特率值,並手動和遠程地提供該函數。如何設置dash.js-2.6.1視頻播放器只使用特定比特率播放,而不使用播放器控制欄上的相關複選框?

我會感謝任何人誰引導我如何達到我的目標,即使通過另一種方法。

回答

0

看那MediaPlayer.js來源:

你想看看功能是 '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

感謝的尊敬米克 – Maher

+0

好了好了指導我如何使用這個功能?我添加了這兩行「player.setAutoSwitchQuality(false); player.setQualityFor(「video」,0); >>旨在讓玩家以最小的比特率進行比賽,但沒有任何事情發生! – Maher

+0

在AbrController.js中查看onFragmentLoadProgress。這會調用setPlaybackQuality,然後調用setQualityFor來改變質量。這應該給你一個使用感覺和參數等。 – Mick

相關問題