Greasy Fork

Greasy Fork is available in English.

❀ 浮岚 YouTube 速度快捷键

使用快捷键调整 YouTube 播放速度

当前为 2025-11-05 提交的版本,查看 最新版本

// ==UserScript==
// @name                   ❀ 浮岚 YouTube 速度快捷键
// @name:zh-CN             ❀ 浮岚 YouTube 速度快捷键
// @name:zh-TW             ❀ 浮嵐 YouTube 速度快捷鍵
// @name:ja                ❀ 浮嵐 YouTube 再生速度ショートカット
// @name:ko                ❀ 플란 YouTube 속도 단축키
// @name:en                ❀ Fulan YouTube Speed Shortcuts
// @name:vi                ❀ Fulan Phím tắt tốc độ YouTube
// @name:id                ❀ Fulan Pintasan Kecepatan YouTube
// @name:ms                ❀ Fulan Pintasan Kelajuan YouTube
// @name:th                ❀ Fulan ปุ่มลัดความเร็ว YouTube
// @name:fr                ❀ Raccourcis de vitesse YouTube Fulan
// @name:es                ❀ Atajos de velocidad de YouTube Fulan
// @name:de                ❀ Fulan YouTube Geschwindigkeitskürzel
// @name:hi                ❀ Fulan YouTube स्पीड शॉर्टकट
// @name:pt                ❀ Atalhos de velocidade do YouTube Fulan
// @name:ar                ❀ اختصارات سرعة YouTube Fulan
// @name:ru                ❀ Ярлыки скорости YouTube Fulan
// @name:uk                ❀ Ярлики швидкості YouTube Fulan
// @name:nl                ❀ Fulan YouTube-sneltoetsen
// @name:it                ❀ Fulan Scorciatoie velocità YouTube
// @name:eo                ❀ Fulan YouTube Rapidebutonoj
// @name:mn                ❀ Fulan YouTube хурдны товчлол
// @name:ug                ❀ Fulan YouTube تېزلىك قىستۇرما كۇنۇپكىسى
// @name:bo                ❀ Fulan YouTube ཆུ་ཚད་ཕུལ་ཁུངས།
// @description            使用快捷键调整 YouTube 播放速度
// @description:zh-TW      使用快捷鍵調整 YouTube 播放速度
// @description:ja         YouTube の再生速度をショートカットキーで調整
// @description:ko         YouTube 재생 속도를 단축키로 조절
// @description:en         Adjust YouTube playback speed using shortcuts
// @description:vi         Điều chỉnh tốc độ phát YouTube bằng phím tắt
// @description:id         Mengatur kecepatan pemutaran YouTube menggunakan pintasan
// @description:ms         Laraskan kelajuan main YouTube menggunakan pintasan
// @description:th         ปรับความเร็วการเล่น YouTube ด้วยคีย์ลัด
// @description:fr         Ajuster la vitesse de lecture YouTube avec des raccourcis
// @description:es         Ajustar la velocidad de reproducción de YouTube con atajos
// @description:de         YouTube-Wiedergabegeschwindigkeit mit Tastenkombinationen anpassen
// @description:hi         शॉर्टकट का उपयोग करके YouTube प्लेबैक स्पीड समायोजित करें
// @description:pt         Ajustar a velocidade de reprodução do YouTube usando atalhos
// @description:ar         ضبط سرعة تشغيل YouTube باستخدام الاختصارات
// @description:ru         Регулировка скорости воспроизведения YouTube с помощью ярлыков
// @description:uk         Налаштування швидкості відтворення YouTube за допомогою ярликів
// @description:nl         YouTube-afspeelsnelheid aanpassen met sneltoetsen
// @description:it         Regolare la velocità di riproduzione di YouTube con scorciatoie
// @description:eo         Agordi YouTube-ludrapidecon per butonoj
// @description:mn         YouTube-ийн тоглуулах хурдыг товчлуураар тохируулах
// @description:ug         YouTube نى قىسىلما كۇنۇپكا ئارقىلىق تېزلىكىنى تەڭشەش
// @description:bo         ཁུངས་མདོག་ལུ་འབྲེལ་བར YouTube ཆུ་ཚད་ཕུལ་ཁུངས།
// @author       嵐 @ranburiedbyacat
// @namespace    https://bento.me/ranburiedbyacat
// @version      1.0
// @license      CC-BY-NC-SA-4.0
// @match        *://*.youtube.com/*
// @compatible   Safari
// @compatible   Firefox
// @compatible   Chrome
// @icon         https://www.youtube.com/favicon.ico
// @grant        none
// @run-at       document-idle
// ==/UserScript==

(function() {
    'use strict';

    // 快捷键与倍速映射表
    const speedMap = {
        'Digit1': 1.0,   // Shift+1
        'Digit2': 2.0,   // Shift+2
        'Digit3': 3.0,   // Shift+3
        'KeyQ': 0.5,     // Shift+Q
        'KeyW': 1.5,     // Shift+W
        'KeyE': 2.5      // Shift+E
    };

    document.addEventListener('keydown', function(e) {
        // 只在按下 Shift 时触发
        if (!e.shiftKey) return;

        // 排除输入框和可编辑区域
        const active = document.activeElement;
        if (active && (active.tagName === 'INPUT' || active.tagName === 'TEXTAREA' || active.isContentEditable)) return;

        const rate = speedMap[e.code];
        if (rate !== undefined) {
            const video = document.querySelector('video');
            if (video) {
                video.playbackRate = rate;
                console.log(`当前播放速度: ${rate}x`);
            }
        }
    });
})();