如何设置dash.js-2.6.1视频播放器只使用特定比特率播放,而不使用播放器控制栏上的相关复选框?
问题描述:
我想远程控制dash.js-2.6.1
video player,这样我就可以使它从它从(* .mpd)清单文件捕获的比特率列表中以特定比特率播放视频。 很明显,可以使用位于播放器窗口控制栏上的播放器的比特率复选框完成此操作,但我希望在后台执行此操作,在视频播放过程中可以远程执行此操作,并且可以多次执行此操作。 换句话说,我想知道source code of the player中的哪个函数捕获用户在复选框中选择的比特率值,并手动和远程地提供该函数。如何设置dash.js-2.6.1视频播放器只使用特定比特率播放,而不使用播放器控制栏上的相关复选框?
我会感谢任何人谁引导我如何达到我的目标,即使通过另一种方法。
答
看那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);
}
感谢的尊敬米克 – Maher
好了好了指导我如何使用这个功能?我添加了这两行“player.setAutoSwitchQuality(false); player.setQualityFor(“video”,0); >>旨在让玩家以最小的比特率进行比赛,但没有任何事情发生! – Maher
在AbrController.js中查看onFragmentLoadProgress。这会调用setPlaybackQuality,然后调用setQualityFor来改变质量。这应该给你一个使用感觉和参数等。 – Mick