Greasy Fork

Greasy Fork is available in English.

B站音量调节幅度改至2%,并恢复鼠标滚轮全屏播放下控制音量功能(解除Power Mouse X屏蔽)

将B站上下箭头按键的音量调节幅度设置为2%,增加鼠标滚轮控制音量功能(原本是自带的,但装了Power Mouse X插件被屏蔽了)

当前为 2024-11-16 提交的版本,查看 最新版本

// ==UserScript==
// @name         B站音量调节幅度改至2%,并恢复鼠标滚轮全屏播放下控制音量功能(解除Power Mouse X屏蔽)
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  将B站上下箭头按键的音量调节幅度设置为2%,增加鼠标滚轮控制音量功能(原本是自带的,但装了Power Mouse X插件被屏蔽了)
// @author       sidebar AI生成修改
// @match        *://www.bilibili.com/video/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    const volumeStep = -0.02; // 每次调整的音量变化(2%)
    const videoSelector = 'video'; // 选择器用于选择视频元素

    // 调整音量的函数
    const adjustVolume = (change) => {
        const video = document.querySelector(videoSelector);
        if (video) {
            video.volume = Math.min(1, Math.max(0, video.volume + change)); // 确保音量在 0 - 1 之间
            console.log('当前音量:', (video.volume * 100).toFixed(0) + '%');
        }
    };

    document.addEventListener('keydown', function(event) {
        switch (event.key) {
            case 'ArrowUp':
                adjustVolume(-0.08); // 增加音量
                event.preventDefault();
                break;
            case 'ArrowDown':
                adjustVolume(0.08); // 减少音量
                event.preventDefault();
                break;
        }
    });

    // 监听鼠标滚轮事件
    document.addEventListener('wheel', function(event) {
        // 检查是否在视频区域内
        const video = document.querySelector(videoSelector);
        if (video && document.fullscreenElement) { // 仅在全屏时有效
            // 向上滚动增加音量,向下滚动减少音量
            adjustVolume(event.deltaY > 0 ? volumeStep : -volumeStep);
            event.preventDefault(); // 防止页面滚动
        }
    });
})();