Greasy Fork

disney+ auto speed

可自由增減disney+影片播放速度

目前为 2022-02-03 提交的版本。查看 最新版本

// ==UserScript==
// @name         disney+ auto speed
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  可自由增減disney+影片播放速度
// @author       YC白白
// @match        https://www.disneyplus.com/*
// @icon         https://www.google.com/s2/favicons?domain=disneyplus.com
// @grant        unsafeWindow
// @license      AGPL
// ==/UserScript==

/*
增減speed鍵盤快捷鍵:
c:加速
x:減速
z:回到一倍速
*/

// 提示Speed,會消失
let showSpeed = document.createElement("div")
let st = ""
showSpeed.style.position = "fixed"
showSpeed.style.zIndex = "100001"
showSpeed.style.top = "0px"
showSpeed.style.left = "0px"
showSpeed.style.color = "#55558e"
showSpeed.style.fontSize = "60px"
showSpeed.id = "hint"
showSpeed.innerHTML = ''
document.body.prepend(showSpeed)

function showhint(nowSpeed) {
    clearInterval(st)
    // 提示從這邊開始滑
    showSpeed.style.top = "160px"
    showSpeed.style.left = "160px"

    let leftnum = 160
    showSpeed.innerHTML = nowSpeed
    showSpeed.style.opacity = 1
    if(showSpeed.style.opacity !=0){
        let num = 500
        // let st = setInterval(function(){
        st = setInterval(function(){
            // leftnum = leftnum + 0.5
            if (leftnum <= 200) {
                leftnum = leftnum + 320 / leftnum
            } else {
                leftnum = leftnum + 0.3
            }
            showSpeed.style.left = `${leftnum}px`
            num--
            showSpeed.style.opacity = num / 100
            if (num <= 0) {
                clearInterval(st)
                // 提示結束時,回到0,0
                showSpeed.style.top = "0px"
                showSpeed.style.left = "0px"
            }
        }, 1)
    }
}

window.addEventListener('keydown', function(key){
    // console.log(key)
    switch (key['code']) {
        case 'KeyZ' :
            document.querySelector("video").playbackRate = 1
            break
        case 'KeyC' :
            document.querySelector("video").playbackRate = Math.round((document.querySelector("video").playbackRate + 0.1) * 10) / 10
            break
        case 'KeyX' :
            if (document.querySelector("video").playbackRate > 0.1) {
                document.querySelector("video").playbackRate = Math.round((document.querySelector("video").playbackRate - 0.1) * 10) / 10
            }
            break
    }
    let hintStr = `speed = ${document.querySelector("video").playbackRate}`
    console.log(hintStr)
    showhint(hintStr)
})