Greasy Fork

Greasy Fork is available in English.

B站倍播快捷键_好用!

在哔哩哔哩网站上播放视频时,按下x键减速播放,按下c键加速播放,按下z原速播放或上一次速度播放。每次步进为0.2。此外按下f键全屏播放或退出全屏。带记忆功能。按键记忆:z、x、c这三个键在键盘上依次排列,即原速档、减速档、加速档。跟开车一样这样就好记多了。操作举例:按下x键2次,当前播放速度为0.6,紧接着再按下z键,这时候回到1倍速,再按下z键,这时再回到0.6倍速。

当前为 2023-03-27 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         B站倍播快捷键_好用!
// @version      9.10.111
// @description  在哔哩哔哩网站上播放视频时,按下x键减速播放,按下c键加速播放,按下z原速播放或上一次速度播放。每次步进为0.2。此外按下f键全屏播放或退出全屏。带记忆功能。按键记忆:z、x、c这三个键在键盘上依次排列,即原速档、减速档、加速档。跟开车一样这样就好记多了。操作举例:按下x键2次,当前播放速度为0.6,紧接着再按下z键,这时候回到1倍速,再按下z键,这时再回到0.6倍速。
// @description 如果需要回车全屏功能则在下面将EFS=1(默认=0);
// @author       Alan996
// @icon         https://i1.hdslb.com/bfs/face/a809a3b8407840ae00032360108261fcf503d38a.jpg@96w_96h_1c_1s.webp
// @match        https://www.bilibili.com/*
// @grant        GM_setValue
// @grant        GM_getValue
// @license      GPL
// @namespace http://greasyfork.icu/en/scripts/439781
// ==/UserScript==

(function() {
    'use strict';
    var EFS = 0; //如果需要回车全屏则把0改为1;
    console.log("B站倍播快捷键 启动成功!");
    var d = document.querySelector('video') ? document.querySelector('video') : document.querySelector("bwp-video");
    var a = GM_getValue('a', 10);
    var b = GM_getValue('b', 10);
    d.playbackRate = a/10;
    document.addEventListener('keydown', function(event) {
        if(event.code === 'KeyX' || event.code === 'KeyC' || event.code === 'KeyZ'){
            var c = false;
            if (event.code === 'KeyX') {
                a -= 2;
            } else if (event.code === 'KeyC') {
                a += 2;
            } else if (event.code === 'KeyZ') {
                c = true;
                a = d.playbackRate === 1 ? b : 10;
            }
            if (a < 2) {
                a = 2;
            } else if (a > 80) {
                a = 80;
            }
            GM_setValue('a', a);
            d.playbackRate = a/10;
            if(!c){
                b = a;
                GM_setValue('b', b);
            }
        }
        if (event.code === 'Enter' && EFS === 1) {
            if (d && d.readyState >= 2) {
                if (document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement) {
                    if (document.exitFullscreen) {
                        document.exitFullscreen();
                    } else if (document.mozCancelFullScreen) {
                        document.mozCancelFullScreen();
                    } else if (document.webkitExitFullscreen) {
                        document.webkitExitFullscreen();
                    }
                }
                else {
                    if (d.requestFullscreen) {
                        d.requestFullscreen();
                    } else if (d.mozRequestFullScreen) {
                        d.mozRequestFullScreen();
                    } else if (d.webkitRequestFullscreen) {
                        d.webkitRequestFullscreen();
                    }
                }
            }
        }
        if (event.code === 'f'){
             if (document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement) {
                  if (document.exitFullscreen) {
                        document.exitFullscreen();
                    } else if (document.mozCancelFullScreen) {
                        document.mozCancelFullScreen();
                    } else if (document.webkitExitFullscreen) {
                        document.webkitExitFullscreen();
                    }
             }
        }
    });
    setInterval(function (){
        var e = document.getElementsByClassName('bpx-player-ctrl-playbackrate-result')[0].textContent.replace('x','');
        if (parseFloat(e)) {
            a = parseFloat(e)*10;
            GM_setValue('a', a);
        }}, 2000);
})();