Greasy Fork 支持简体中文。

视频和歌曲播放速度控制

通过按钮调整网页上视频和歌曲的播放速度,默认速度为0.8,并显示当前速度

// ==UserScript==
// @name         视频和歌曲播放速度控制
// @namespace    http://tampermonkey.net/
// @version      1.1.2
// @description  通过按钮调整网页上视频和歌曲的播放速度,默认速度为0.8,并显示当前速度
// @author       你的名字
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 默认播放速度
    let defaultSpeed = 0.8;
    // 速度步长
    let speedStep = 0.1;

    // 创建控制按钮
    function createControlButton(text, onClick, top) {
        let button = document.createElement('button');
        button.textContent = text;
        button.style.position = 'fixed';
        button.style.right = '10px';
        button.style.top = top + 'px';
        button.style.zIndex = '1000';
        button.style.fontSize = '20px';
        button.style.padding = '10px';
        button.onclick = onClick;
        return button;
    }

    // 当前速度
    let currentSpeed = defaultSpeed;

    // 显示当前速度按钮
    let speedDisplayButton = createControlButton(`速度: ${currentSpeed.toFixed(1)}`, function() {}, 150);
    document.body.appendChild(speedDisplayButton);

    // 设置播放速度
    function setPlaybackSpeed(speed) {
        currentSpeed = Math.max(0.1, speed); // 最低速度为0.1
        let mediaElements = document.querySelectorAll('video, audio');
        mediaElements.forEach(function(media) {
            media.playbackRate = currentSpeed;
        });
        speedDisplayButton.textContent = `速度: ${currentSpeed.toFixed(1)}`;
    }

    // 增加速度按钮
    let increaseButton = createControlButton('+', function() {
        setPlaybackSpeed(currentSpeed + speedStep);
    }, 50);
    document.body.appendChild(increaseButton);

    // 减少速度按钮
    let decreaseButton = createControlButton('-', function() {
        setPlaybackSpeed(currentSpeed - speedStep);
    }, 100);
    document.body.appendChild(decreaseButton);

    // 重置速度按钮
    let resetButton = createControlButton('重置', function() {
        setPlaybackSpeed(defaultSpeed);
    }, 200);
    document.body.appendChild(resetButton);

    // 初始化播放速度
    function initPlaybackSpeed() {
        setPlaybackSpeed(defaultSpeed);
    }

    // 等待页面加载完成后初始化
    window.addEventListener('load', initPlaybackSpeed);
})();