Greasy Fork

Greasy Fork is available in English.

云班课视频助手

云班课助手,数字1,2,3,4,5代表1x,2x,4x,8x,16x倍速,数字0一键看完视频,<减速,>加速

目前为 2020-04-16 提交的版本,查看 最新版本

// ==UserScript==
// @name         云班课视频助手
// @version      0.1
// @description  云班课助手,数字1,2,3,4,5代表1x,2x,4x,8x,16x倍速,数字0一键看完视频,<减速,>加速
// @author       正阳哥哥
// @match        *://*.mosoteach.cn/*
// @grant        none

// @namespace http://greasyfork.icu/users/515076
// ==/UserScript==

(function() {
    'use strict';
    let title = ''
    let rate = 1
    let fl="\u6b63\u9633\u54e5\u54e5\u51fa\u54c1\uff0c\u5fc5\u5c5e\u7cbe\u54c1\uff01"
    window.addEventListener('keyup', (e) => {
        if (e.key === '>' && rate < 16) {
            rate += 1
            setVideoRate()
        } else if (e.key === '<' && rate > 1) {
            rate -= 1
            setVideoRate()
        } else if (e.key === '1') {
            rate = 1
            setVideoRate()
        } else if (e.key === '2') {
            rate = 2
            setVideoRate()
        } else if (e.key === '3') {
            rate = 4
            setVideoRate()
        } else if (e.key === '4') {
            rate = 8
            setVideoRate()
        } else if (e.key === '5') {
            rate = 16
            setVideoRate()
        } else if (e.key === '0') {
            finishVideo()
        }
        else {
            return
        }
    })

    function encodeUTF8(str){
        var temp = "",rs = "";
        for( var i=0 , len = str.length; i < len; i++ ){
            temp = str.charCodeAt(i).toString(16);
            rs += "\\u"+ new Array(5-temp.length).join("0") + temp;
        }
        return rs;
    }
    function decodeUTF8(str){
        return str.replace(/(\\u)(\w{4}|\w{2})/gi, function($0,$1,$2){
            return String.fromCharCode(parseInt($2,16));
        });
    }
    function setVideoRate() {
        let tis="\u5f53\u524d\u500d\u901f\uff1a"
        let al=decodeUTF8(tis)+rate.toString()+"x"
        let cal=decodeUTF8(tis)+rate.toString()+"x\n\n"+fl
        console.log(al)
        //console.log(encodeUTF8("观看完毕!"))
        document.querySelector('video').playbackRate = rate
        window.alert(cal)
    }
    function finishVideo() {
        let t=document.querySelector('video').duration
        let wan="\u89c2\u770b\u5b8c\u6bd5\uff01"
        let ti=decodeUTF8(wan)+"\n\n"+fl
        console.log(decodeUTF8(wan))
        document.querySelector('video').currentTime=t
        window.alert(ti)
    }


})();