您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Make video louder
// ==UserScript== // @name YouTube Louder // @description Make video louder // @match https://www.youtube.com/watch* // @icon https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Logo_of_YouTube_%282015-2017%29.svg/2560px-Logo_of_YouTube_%282015-2017%29.svg.png // @version 1 // @license MIT // @namespace https://greasyfork.org/users/803889 // ==/UserScript== function louder() { const div = document.getElementById("above-the-fold"); const divAbove = document.createElement("div"); divAbove.id = "volumeRocker" divAbove.className = "slidecontainer" div.parentNode.insertBefore(divAbove, div) const para = document.createElement("p") para.innerText = 'Volume Doubler: ' const volSpan = document.createElement("span") volSpan.id = 'set-volume' para.appendChild(volSpan) divAbove.appendChild(para) const input = document.createElement("input"); input.className = "slider" input.id = "myRange" input.type = "range" input.min = "1" input.max = "20" input.value = "1" divAbove.appendChild(input); const videoElement = document.querySelector("video") const audioCtx = new AudioContext() const source = audioCtx.createMediaElementSource(videoElement) const gainNode = audioCtx.createGain() gainNode.gain.value = 1 source.connect(gainNode) gainNode.connect(audioCtx.destination) const slider = document.getElementById("myRange"); const output = document.getElementById("set-volume"); output.innerHTML = slider.value; slider.addEventListener("input", function () { output.innerHTML = this.value; gainNode.gain.value = this.value; }); } let counter = 0 try { let interval_documentHidden = setInterval(function checker() { if (!document.hidden && document.readyState === 'complete' && (document.querySelector('ytd-watch-metadata') !== null)) { if (counter <= 15) { louder() clearInterval(interval_documentHidden) } else { counter++ if (counter <= 15) { console.log('YouTube Louder: --Counter limited reached-- Could not like video or setup observer. Try refreshing the page.?') clearInterval(interval_documentHidden) return } } } }, 2000) } catch (err) { console.log('YouTube Louder: Error occured\n######\n\nerr' + err + '\n\n######') }