feat(artplayer-plugin-dash-control)!: support dash.js v5

- replace removed v4 APIs with their v5 equivalents:
  getRepresentationsByType / getCurrentRepresentationForType /
  setRepresentationForTypeByIndex
- bump dash.js CDN references from 4.5.2 to 5.2.1 (modern/umd build)
- rebuild dist, docs/compiled and docs/uncompiled artifacts
- regenerate vitepress docs
This commit is contained in:
Mr.Hope committed 2026-09-10 15:58:17 +08:00
1 parent 42c4ca735d
commit cb69e4ad66
96 files changed
+199 -195

No files matched your search

@@ -21,22 +21,23 @@ function artplayerPluginDashControl(option = {}) {
const { $video } = art.template;
const { errorHandle } = art.constructor.utils;
function updateQuality(dash) {
const qualities = dash.getBitrateInfoListFor("video");
const qualities = dash.getRepresentationsByType("video");
if (!qualities || !qualities.length)
return;
const config = option.quality || {};
const auto = config.auto || "Auto";
const title = config.title || "Quality";
const getName = config.getName || ((level) => `${level.height}p`);
const currentQuality = dash.getQualityFor("video");
const currentRepresentation = dash.getCurrentRepresentationForType("video");
const currentId = currentRepresentation && currentRepresentation.id;
const currentAuto = dash.getSettings().streaming.abr.autoSwitchBitrate.video;
const defaultHtml = currentAuto ? auto : getName(qualities[currentQuality]);
const defaultHtml = !currentAuto && currentRepresentation ? getName(currentRepresentation) : auto;
const selector = uniqBy(
qualities.map((item) => {
qualities.map((item, index) => {
return {
html: getName(item),
value: item.qualityIndex,
default: currentQuality === item.qualityIndex && !currentAuto
value: index,
default: !currentAuto && !!currentId && item.id === currentId
};
}),
"html"
@@ -67,7 +68,7 @@ function artplayerPluginDashControl(option = {}) {
}
}
});
dash.setQualityFor("video", item.value);
dash.setRepresentationForTypeByIndex("video", item.value);
}
art.notice.show = `${title}: ${item.html}`;
if (config.control)