按键+加速,-减速,每次改变1倍,按住shift 0.5倍。
// ==UserScript==
// @name bilibili多倍速
// @namespace http://tampermonkey.net/
// @version 0.1
// @description
// @author 方子豪
// @match *://www.bilibili.com/video/**
// @require https://code.jquery.com/jquery-3.0.0.min.js
// @require https://cdn.bootcdn.net/ajax/libs/toastr.js/2.1.4/toastr.min.js
// @resource CSS https://cdn.bootcdn.net/ajax/libs/toastr.js/2.1.4/toastr.min.css
// @grant GM_getResourceText
// @grant GM_addStyle
// @grant unsafeWindow
// ==/UserScript==
(function () {
'use strict'
GM_addStyle(GM_getResourceText("CSS"))
let rate
$(document).on('keydown', (e) => {
if (!rate) {
toastr.info('加载中')
return
}
if (e.key === '+') {
let v = rate.attr('data-value')
if (e.shiftKey) {
v = (Number(v) + 0.25).toString()
} else {
v = (Number(v) + 1).toString()
}
if (v > 4) {
v = 4
}
rate.attr('data-value', v)
rate.click()
toastr.info(v)
} else if (e.key === '-') {
let v = rate.attr('data-value')
if (e.shiftKey) {
v = (Number(v) - 0.25).toString()
} else {
v = (Number(v) - 1).toString()
}
if (v < 0.25) {
v = 0.25
}
rate.attr('data-value', v)
rate.click()
toastr.info(v)
}
})
const tryX = () => {
setTimeout(() => {
rate = $('#bilibili-player > div > div > div.bpx-player-primary-area > div.bpx-player-video-area > div.bpx-player-control-wrap > div.bpx-player-control-entity > div.bpx-player-control-bottom > div.bpx-player-control-bottom-right > div.bpx-player-ctrl-btn.bpx-player-ctrl-playbackrate > ul > li:nth-child(1)')
if (!rate.length) {
tryX()
}
}, 200)
}
tryX()
})();