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
// @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")
  const observer = new MutationObserver(callback);
  observer.observe(videoSub, {
    childList: true,
    subtree: true
  })

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

  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);
})();