bilibili直播默认最高画质

bilibili直播默认切换为最高画质

  1. // ==UserScript==
  2. // @name bilibili直播默认最高画质
  3. // @name:zh-CN bilibili直播默认最高画质
  4. // @name:zh-TW bilibili直播默認最高畫質
  5. // @name:zh-HK bilibili直播默認最高畫質
  6. // @description bilibili直播默认切换为最高画质
  7. // @description:zh-CN bilibili直播默认切换为最高画质
  8. // @description:zh-TW bilibili直播默認切換為最高畫質
  9. // @description:zh-HK bilibili直播默認切換為最高畫質
  10. // @namespace https://github.com/linkwanggo
  11. // @version 2.2.0
  12. // @author linkwanggo
  13. // @match *://live.bilibili.com/*
  14. // @exclude *://live.bilibili.com/p/*
  15. // @icon https://www.bilibili.com//favicon.ico
  16. // @run-at document-start
  17. // @compatible chrome
  18. // @compatible firefox
  19. // @compatible edge
  20. // ==/UserScript==
  21.  
  22. ;(function () {
  23. function process() {
  24. try {
  25. const livePlayer = document.querySelector('#live-player')
  26. livePlayer.dispatchEvent(new Event('mousemove'))
  27. const qualityWrap = livePlayer.querySelector('.quality-wrap')
  28. const observer = new MutationObserver(mutations => {
  29. mutations.some(mutation => {
  30. try {
  31. const qualities = mutation.target.querySelectorAll('.list-it')
  32. if (qualities.length) {
  33. qualities[0].click()
  34. livePlayer.dispatchEvent(new Event('mouseleave'))
  35. return true
  36. }
  37. return false
  38. } catch (e) {
  39. console.error(e)
  40. return false
  41. } finally {
  42. observer.disconnect()
  43. }
  44. })
  45. })
  46. observer.observe(qualityWrap, { childList: true, subtree: true })
  47. qualityWrap.dispatchEvent(new Event('mouseenter'))
  48. } catch (e) {
  49. console.error(e)
  50. }
  51. }
  52.  
  53. function live() {
  54. const observer = new MutationObserver(mutations => {
  55. mutations.forEach(mutation => {
  56. mutation.addedNodes.forEach(node => {
  57. if (node.nodeName === 'VIDEO') {
  58. window.setTimeout(process, 600)
  59. observer.disconnect()
  60. }
  61. })
  62. })
  63. })
  64. observer.observe(document, { childList: true, subtree: true })
  65. }
  66.  
  67. live()
  68. })()

QingJ © 2025

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