bilibili Setting Video Quality

Setting Video Quality

当前为 2023-08-13 提交的版本,查看 最新版本

// ==UserScript==
// @name         bilibili Setting Video Quality
// @version      0.0.4
// @description  Setting Video Quality
// @author       Vanisoul
// @match        https://www.bilibili.com/*
// @require      https://gf.qytechs.cn/scripts/472487-bilibili-get-video-player/code/bilibili%20Get%20Video%20Player.js?version=1234536
// @license      MIT
// @namespace https://gf.qytechs.cn/users/429936
// ==/UserScript==

const targetQualitys = [1080, 720, 360]; // 越前面越優先
const highBitratePriority = true; // 是否 Bitrate 是否優先

window.addEventListener('vanisoul_dashPlayer_Ready', function (e) {
    const dashPlayer = e.detail;
    if (dashPlayer.player) {
        const qualityList = dashPlayer.player.getBitrateInfoListFor("video");
        const priorityQualityList = qualityList
            .map((item, index) => {
                const priority = targetQualitys.indexOf(item.height)
                return { ...item, index, priority };
            })
            .filter(item => item.priority !== -1)
            .sort((currItem, nextItem) =>
                highBitratePriority ?
                    nextItem.bitrate - currItem.bitrate :
                    currItem.bitrate - nextItem.bitrate
            )
            .sort((currItem, nextItem) => currItem.priority - nextItem.priority);

        if (!priorityQualityList.length === 0) {
            return;
        }

        const targetIdx = priorityQualityList[0].index;
        dashPlayer.player.setQualityFor("video", targetIdx)
        dashPlayer.player.setDefaultQualityFor("video", targetIdx)
        console.log(`hook set Quality ${JSON.stringify(priorityQualityList[0])}`);
    }
});

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址