❀ 浮嵐 YouTube 速度快捷鍵

使用快捷鍵調整 YouTube 播放速度

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name                   ❀ 浮岚 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 ཆུ་ཚད་ཕུལ་ཁུངས།
// @name:bn                ❀ Fulan YouTube গতির শর্টকাট
// @name:pa                ❀ Fulan YouTube سپیڈ شارٹ کٹ
// @name:tr                ❀ Fulan YouTube Hız Kısayolları
// @name:fa                ❀ Fulan YouTube میانبر سرعت
// @name:sw                ❀ Fulan YouTube Vifupi vya Kasi
// @name:ha                ❀ Fulan YouTube Mabudin ɗin Sauri
// @name:am                ❀ Fulan YouTube ፈጣን አጭር መንገዶች
// @name:sv                ❀ Fulan YouTube Hastighetsgenvägar
// @name:da                ❀ Fulan YouTube Hastighedsgenveje
// @name:pl                ❀ Fulan YouTube Skróty prędkości
// @name:cs                ❀ Fulan YouTube Klávesové zkratky rychlosti
// @name:hu                ❀ Fulan YouTube Sebességgyorsbillentyűk
// @name:bg                ❀ Fulan YouTube Бързи клавиши за скорост
// @name:ro                ❀ Fulan YouTube Comenzi rapide pentru viteză
// @name:kk                ❀ Fulan YouTube Жылдамдық пернелері
// @name:ky                ❀ Fulan YouTube Ыкчамдык кыска жолдору
// @name:tg                ❀ Fulan YouTube Миёнаи суръат
// @name:ka                ❀ Fulan YouTube სიჩქარის მოკლე გზები
// @name:hy                ❀ Fulan YouTube Արագության հապավումներ
// @name:ca                ❀ Fulan YouTube Dreceres de velocitat
// @name:gn                ❀ Fulan YouTube Mbaretẽha guasu riregua
// @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 ཆུ་ཚད་ཕུལ་ཁུངས།
// @description:bn         শর্টকাট ব্যবহার করে YouTube প্লেব্যাক স্পিড সামঞ্জস্য করুন
// @description:pa         شارٹ کٹ استعمال کرکے YouTube کی رفتار کو ایڈجسٹ کریں
// @description:tr         Kısayolları kullanarak YouTube oynatma hızını ayarlayın
// @description:fa         با استفاده از میانبرها سرعت پخش YouTube را تنظیم کنید
// @description:sw         Rekebisha kasi ya uchezaji wa YouTube kwa kutumia vifupi
// @description:ha         Da amfani da mabudin sauri, daidaita saurin YouTube
// @description:am         በአጭር መንገዶች በመጠቀም የYouTube ፍጥነትን አስተካክሉ
// @description:sv         Justera YouTubes uppspelningshastighet med kortkommandon
// @description:da         Juster YouTube-afspilningshastigheden med genvejstaster
// @description:pl         Dostosuj prędkość odtwarzania YouTube za pomocą skrótów
// @description:cs         Upravte rychlost přehrávání YouTube pomocí klávesových zkratek
// @description:hu         Állítsd be a YouTube lejátszási sebességét gyorsbillentyűkkel
// @description:bg         Регулирайте скоростта на възпроизвеждане в YouTube с клавишни комбинации
// @description:ro         Ajustați viteza de redare YouTube folosind scurtături
// @description:kk         Пернелерді пайдаланып YouTube ойнату жылдамдығын реттеңіз
// @description:ky         Ыкчам жолдор менен YouTube ойноо ылдамдыгын жөндөңүз
// @description:tg         Суръати YouTube-ро бо кӯтоҳкушоҳо танзим кунед
// @description:ka         მოკლე გზების გამოყენებით YouTube-ის დაკვრის სიჩქარე დაარეგულირეთ
// @description:hy         Կարճցույցների միջոցով կարգավորեք YouTube-ի արագությունը
// @description:ca         Ajusteu la velocitat de reproducció de YouTube amb dreceres
// @description:gn         Gueterã mbaretẽha ojapoháicha YouTube rembopyahu reikehápe
// @author                 嵐 @ranburiedbyacat
// @namespace              https://bento.me/ranburiedbyacat
// @version                1.1.1
// @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) {
    // 排除输入框和可编辑区域
    const active = document.activeElement;
    if (active && (active.tagName === 'INPUT' || active.tagName === 'TEXTAREA' || active.isContentEditable)) {
      return; // 输入框中按键不处理
    }

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

      // 只阻止 W 键触发 YouTube 字幕预览
      if (e.code === 'KeyW') {
        e.stopImmediatePropagation();
        e.preventDefault();
      }

      // 其他按键不阻止,保留原来的监听器
    }
  }, true); // 捕获阶段
})();