播放期间如何切换音轨

HSB*_*ina 5 html5-video mpeg-dash

我使用dash.js将以下清单中的内容加载到HTML5视频中:MPD文件。它包含一个视频和四个音轨。我试图弄清楚如何枚举和启用/禁用可用的不同音轨。

我知道,如果将它们作为TRACK元素添加到元素中,则VIDEO可以通过它们启用/禁用它们,video.audioTracks但这是不可能的,因为它们是从清单中加载的。

我将如何解决这个问题的任何指针将不胜感激。

Sve*_*nov 0

以下是获取可用品质列表的方法:

// assuming player is the instance of MediaPlayer
var metricsExt = player.getMetricsExt();
var num_qualities = metricsExt.getMaxIndexForBufferType('audio', 0 /*that's the period index*/);
var qualities = [];
for (var i = 0; i < num_qualities; i++) {
     qualities.push(metricsExt.getBandwidthForRepresentation(i+1));
}
Run Code Online (Sandbox Code Playgroud)

然后如果用户选择另一种质量:

player.setQualityFor('audio', newQualityIdx);
// newQualityIdx is the 0-based index of the chosen quality
Run Code Online (Sandbox Code Playgroud)

您可能还想关闭,auto-switch-quality以防用户手动选择质量:

player.setAutoSwitchQuality(false);
Run Code Online (Sandbox Code Playgroud)