如何使用 dash js 音频播放器仅播放特定比特率?
How to play only specific bitrate with dash js audio player?
我正在使用 dash.js 库并通过 DASH 协议为我的音频播放器实现自适应比特率。
在其中一种情况下,我遇到了问题,我不想自适应地改变比特率,而是想具体一点,即 320 kbps。我正在使用 dash.js 库中提供的方法,因为 following.But 无法为我的整个音频文件获取静态比特率段。
(function () {
var url = "https://xxxxxxxxxxxx.xxxxxxxx.net/myplaylist.mpd";
var player = dashjs.MediaPlayer().create();
player.initialize(document.querySelector("#audioPlayer"), url, true);
player.setInitialBitrateFor('audio', 320);
player.setQualityFor('audio', 320);
player.setAutoSwitchQualityFor('audio', false);
player.getDebug().setLogToBrowserConsole(false);
})();
所以基本上有两个选项:自动和 320kbps
auto 将允许自适应比特率,但在此之后的任何时间选择 320 kbps 时,它应该只获取该比特率的片段。
对于后面的场景,我遇到了这个问题。
有什么方法可以做到吗?我在这里遗漏了什么吗?
它没有设置比特率,因为它正在对比特率进行精确匹配。
目前dash.js的码率设置方法如下
当您首先执行 player.setInitialBitrateFor('audio', 320);
时,它将从 mpd 文件中获取带宽。
然后有一个内部机制将带宽除以 1000,然后对值进行舍入。所以因为如果你的 mpd 文件包含像 bandwidth="320000" 这样的值,请关闭它,
那么 player.setInitialBitrateFor('audio', 320);
就可以了。
带宽可能会发生变化,例如 321684,这将生成比特率值 = 321。在这种情况下,您必须执行 player.setInitialBitrateFor('audio', 321); 会起作用
也setQualityFor 方法将索引作为第二个参数。
所以可以做到
player.setQualityFor('audio', indexValue);
考虑到有三个适应集并且
low bitrate (64 kbps) ==> 0 (indexValue)
Medium bitrate (128 kbps) ==> 1 (indexValue)
High bitrate (320 kbps) ==> 2 (indexValue)
我正在使用 dash.js 库并通过 DASH 协议为我的音频播放器实现自适应比特率。
在其中一种情况下,我遇到了问题,我不想自适应地改变比特率,而是想具体一点,即 320 kbps。我正在使用 dash.js 库中提供的方法,因为 following.But 无法为我的整个音频文件获取静态比特率段。
(function () {
var url = "https://xxxxxxxxxxxx.xxxxxxxx.net/myplaylist.mpd";
var player = dashjs.MediaPlayer().create();
player.initialize(document.querySelector("#audioPlayer"), url, true);
player.setInitialBitrateFor('audio', 320);
player.setQualityFor('audio', 320);
player.setAutoSwitchQualityFor('audio', false);
player.getDebug().setLogToBrowserConsole(false);
})();
所以基本上有两个选项:自动和 320kbps
auto 将允许自适应比特率,但在此之后的任何时间选择 320 kbps 时,它应该只获取该比特率的片段。
对于后面的场景,我遇到了这个问题。
有什么方法可以做到吗?我在这里遗漏了什么吗?
它没有设置比特率,因为它正在对比特率进行精确匹配。
目前dash.js的码率设置方法如下
当您首先执行 player.setInitialBitrateFor('audio', 320);
时,它将从 mpd 文件中获取带宽。
然后有一个内部机制将带宽除以 1000,然后对值进行舍入。所以因为如果你的 mpd 文件包含像 bandwidth="320000" 这样的值,请关闭它,
那么 player.setInitialBitrateFor('audio', 320);
就可以了。
带宽可能会发生变化,例如 321684,这将生成比特率值 = 321。在这种情况下,您必须执行 player.setInitialBitrateFor('audio', 321); 会起作用
也setQualityFor 方法将索引作为第二个参数。 所以可以做到
player.setQualityFor('audio', indexValue);
考虑到有三个适应集并且
low bitrate (64 kbps) ==> 0 (indexValue)
Medium bitrate (128 kbps) ==> 1 (indexValue)
High bitrate (320 kbps) ==> 2 (indexValue)