Greasy Fork

Greasy Fork is available in English.

斗鱼自动切换最高画质或最低画质

斗鱼直播自动调整最低分辨率或最高分辨率;自动调整2K、蓝光、超清、高清清晰度;

当前为 2021-08-03 提交的版本,查看 最新版本

// ==UserScript==
// @name         斗鱼自动切换最高画质或最低画质
// @namespace    https://github.com/Eished
// @author       Eished
// @version      2021.08.03.2
// @description  斗鱼直播自动调整最低分辨率或最高分辨率;自动调整2K、蓝光、超清、高清清晰度;
// @license      AGPL-3.0
// @match        *://www.douyu.com/*
// @icon         https://www.google.com/s2/favicons?domain=greasyfork.org
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_registerMenuCommand
// ==/UserScript==

(function () {
  'use strict';
  let Clarity = GM_getValue("Clarity");
  if (Clarity == undefined) {
    high();
  }

  const videoSub = document.querySelector(".layout-Player-videoSub");
  if (videoSub == undefined) {
    return;
  }
  const observer = new MutationObserver(callback);
  observer.observe(videoSub, {
    childList: true,
    subtree: true
  })

  function callback() {
    const container = document.querySelector(".container-cffcd4");
    if (container) {
      let rate = container.querySelector(".rate-5c068c > div > ul")
      if (rate) {
        observer.disconnect();
        if (Clarity == 1) {
          rate = rate.firstElementChild; // 最高画质
        } else {
          rate = rate.lastElementChild; // 最低画质
        }
        rate.className ? console.log(rate.className) : rate.click();
      } else if (rate == undefined) {
        observer.disconnect();
        console.log("没有画质选项");
      }
    }
  }

  function high() {
    Clarity = 1;
    GM_setValue("Clarity", Clarity);
    location.reload();
  }

  function low() {
    Clarity = 0;
    GM_setValue("Clarity", Clarity);
    location.reload();
  }
  GM_registerMenuCommand("最高画质", high);
  GM_registerMenuCommand("最低画质", low);
})();