您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
5/11/2025, 9:27:12 PM
当前为
// ==UserScript== // @name Smooth YouTube livestream // @namespace UserScripts // @version 0.1.2 // @license MIT License // @match https://www.youtube.com/* // @grant none // @author - // @description 5/11/2025, 9:27:12 PM // ==/UserScript== (() => { let cid1 = 0, cid2 = 0; let checks = new Set(); let lastMedia = null; const onDelayDone = () => { const media = lastMedia; lastMedia = null; if (!media) return; // L = n * 1 - n * 0.968 if (media.isConnected && media.playbackRate === 0.968) { media.playbackRate = 1; } } const delayCheck = () => { let media; for (const target of checks) { if (target.isConnected && target.playbackRate === 1 && target.matches('#player *, #ytd-player *')) { media = target; break; } } if (!media) return; if (!document.querySelector('.ytp-live-badge.ytp-live-badge-is-livehead')) return; if (cid2) clearTimeout(cid2); if (lastMedia && lastMedia.isConnected && lastMedia.playbackRate === 0.968) lastMedia.playbackRate = 1; lastMedia = media; media.playbackRate = 0.968; cid2 = setTimeout(onDelayDone, 30000); } document.addEventListener('canplay', (e) => { if (!e || !e.isTrusted || !(e.target instanceof HTMLMediaElement)) return; const p = document.querySelector('.ytp-live-badge.ytp-live-badge-is-livehead'); const media = e.target; if (p && media.playbackRate === 1) { if (cid1) clearTimeout(cid1); checks.add(media); cid1 = setTimeout(delayCheck, 100); } }, true); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址