由于B站有些视频音量很小,开最大也听不清,因此创建此脚本用于音量功放. (页面左上角b站图标处创建一个input,最小1最大10,数字越大功放越大,1就是原始音量)
注意新版浏览器需要开启浏览器 User Scripts 支持
// ==UserScript==
// @name B站声音增幅
// @namespace http://tampermonkey.net/
// @version 2025-08-11
// @description 对于音量太小的视频放大其音量(页面左上角创建一个input)
// @author fqy
// @match https://www.bilibili.com/video/*/
// @include https://www.bilibili.com/video/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net
// @grant none
// ==/UserScript==
(function() {
'use strict';
if(document.querySelector('video')==null){
return
}else{
console.log('创建功放')
}
if(document.querySelector('input#input__fqy_vedio_voice_change')!=null){
console.log('input__fqy_vedio_voice_change已被创建')
}
//功放固定页面左上角
const input = document.createElement("input")
input.id='input__fqy_vedio_voice_change'
input.style.position='fixed'
input.style.top='0'
input.style.left='0'
input.style.height='27px'
input.style.width='45px'
input.style.zIndex='9999'
input.type='number'
input.step='1'
input.min='1'
input.max='10'
input.style.fontSize='15px'
input.placeholder='功放'
onchange=(event)=>{
createListen()
let multiplier = event.target.value
if(!multiplier){
multiplier=1
}else{
multiplier=Number.parseFloat(multiplier)
}
window.input_change__fqy_vedio_voice_change(multiplier)
}
document.body.appendChild(input)
function createListen(){
if(!window.input_change__fqy_vedio_voice_change){
window.input_change__fqy_vedio_voice_change=(multiplier)=>{
const mediaElem = document.querySelector('video')
if(mediaElem==null){
alert('没有找到video')
}
if(!window.__fqy_vedio_voice_change){
const context = new window.AudioContext()
const result = {
context: context,
source: context.createMediaElementSource(mediaElem),
gain: context.createGain(),
media: mediaElem,
amplify: function (multiplier) { this.gain.gain.value = multiplier },
getAmpLevel: function () { return this.gain.gain.value }
}
result.source.connect(result.gain)
result.gain.connect(context.destination)
window.__fqy_vedio_voice_change = result
}
window.__fqy_vedio_voice_change.amplify(multiplier)
}
}
}
})();