bilibili Setting Video Quality

Setting Video Quality

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

// ==UserScript==
// @name         bilibili Setting Video Quality
// @version      0.0.3
// @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=1230917
// @license      MIT
// @namespace https://gf.qytechs.cn/users/429936
// ==/UserScript==

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

const changeQualityTimeInterval = setInterval(() => {
    const player = window.Vanisoul_Player;
    if(player){
        const qualityList = player.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){
            clearInterval(changeQualityTimeInterval);
            return;
        }
        const targetIdx = priorityQualityList[0].index;
        player.player.setQualityFor("video", targetIdx)
        console.log(`hook set Quality ${JSON.stringify(priorityQualityList[0])}`);
        clearInterval(changeQualityTimeInterval);
    }
}, 1000);

QingJ © 2025

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