Global Media Playback Speed Control

Control playback speed for any media on a webpage using keyboard shortcuts.

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Global Media Playback Speed Control
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Control playback speed for any media on a webpage using keyboard shortcuts.
// @author       Your Name
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Adjust speed increment value
    const speedStep = 0.1;

    // Listen for keydown events
    document.addEventListener('keydown', function(event) {
        if (event.target.tagName.toLowerCase() !== 'input' && event.target.tagName.toLowerCase() !== 'textarea') {
            let mediaElements = document.querySelectorAll('video, audio');

            if (event.key === '[') {
                mediaElements.forEach(media => {
                    media.playbackRate = Math.max(0.1, media.playbackRate - speedStep);
                    console.log(`Playback speed decreased to: ${media.playbackRate}`);
                });
            } else if (event.key === ']') {
                mediaElements.forEach(media => {
                    media.playbackRate += speedStep;
                    console.log(`Playback speed increased to: ${media.playbackRate}`);
                });
            }
        }
    });

})();