✌学学习通|智慧树|国开|智慧职教|青书学堂|在线100分|考教育云课堂|学起plus|再起航|融学|U校园等等|各类继续教育通用视频均支持视频加速服务|指定倍速✌👈🥇

【超星学习通】【智慧树】【国家智慧中小学】【u校园】【国家开放大学】[在线100分]【自考教育云课堂】【职教云系列】【雨课堂系列】【讯网】【朝明在线】【麦能网】【融学APP】【技能云】【168网校】【英华学堂系列都可】【继续教育类】【柠檬文才】【亿学宝云】【优课学堂】【清华社】【安徽继续教育】 【上海开放大学】【学历邦】【兰州继教】【继教在线】【思钮教育】【春风雨教育】【龙知网】【重庆高校】【新锦和】【中国石油大学】【尚学课堂】【新京人】【百通学堂】【点墨云】【博学】【联大】【课程伴侣】【出头科技】【良师在线】【中国大学】【在浙学】【棉花糖】【朝明在线】【学习公社】【河南宗教】【welearn随行课堂】【睿学】【兰州继教】【文鼎】【绎通云】【池馆】【utalk】【168网校】【我学习】【FIF英语】【百万扩招】【和学在线】【人卫慕课】【绎通云】【再起航】【i学】【慕享】【高校邦】【好策】【优学院】 【学起Plus】【青书学堂】【含弘慕课】【微知库】【学堂在线】使用前请务必打开浏览器开发者模式,按F2后即可执行,使用前一定要看脚本使用说明|作者:white996_1

// ==UserScript==
// @name         ✌学学习通|智慧树|国开|智慧职教|青书学堂|在线100分|考教育云课堂|学起plus|再起航|融学|U校园等等|各类继续教育通用视频均支持视频加速服务|指定倍速✌👈🥇
// @namespace    white996_1
// @version      1.1.1
// @description  【超星学习通】【智慧树】【国家智慧中小学】【u校园】【国家开放大学】[在线100分]【自考教育云课堂】【职教云系列】【雨课堂系列】【讯网】【朝明在线】【麦能网】【融学APP】【技能云】【168网校】【英华学堂系列都可】【继续教育类】【柠檬文才】【亿学宝云】【优课学堂】【清华社】【安徽继续教育】 【上海开放大学】【学历邦】【兰州继教】【继教在线】【思钮教育】【春风雨教育】【龙知网】【重庆高校】【新锦和】【中国石油大学】【尚学课堂】【新京人】【百通学堂】【点墨云】【博学】【联大】【课程伴侣】【出头科技】【良师在线】【中国大学】【在浙学】【棉花糖】【朝明在线】【学习公社】【河南宗教】【welearn随行课堂】【睿学】【兰州继教】【文鼎】【绎通云】【池馆】【utalk】【168网校】【我学习】【FIF英语】【百万扩招】【和学在线】【人卫慕课】【绎通云】【再起航】【i学】【慕享】【高校邦】【好策】【优学院】 【学起Plus】【青书学堂】【含弘慕课】【微知库】【学堂在线】使用前请务必打开浏览器开发者模式,按F2后即可执行,使用前一定要看脚本使用说明|作者:white996_1
// @author       white996_1
// @run-at       document-end
// @match        *://*/*
// @grant        GM_registerMenuCommand
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    const selectors = {
        bilibili: 'bwp-video',
        douyin: '.xg-video-container video',
        other: '上面两个无用,忽略就行'
    };

    function registerMenu() {
        try {
            GM_registerMenuCommand("减速/加速", () => {
                const rate = prompt("请输入您的速率(0-16)", "2.0");
                if (isValidRate(rate)) {
                    setPlaybackRate(rate);
                } else {
                    alert("无效数值");
                }
            }, "rate");
        } catch (error) {
            console.error("注册菜单命令失败:", error);
        }
    }

    function isValidRate(rate) {
        return !isNaN(rate) && rate >= 0 && rate <= 16;
    }

    function onKeyDown(event) {
        if (event.key === 'F2' || event.keyCode === 113) {
            event.preventDefault();
            promptForRate();
        }
    }

    function promptForRate() {
        const rate = prompt("请输入您的速率(0-16)", "2.0");
        if (isValidRate(rate)) {
            setPlaybackRate(rate);
        } else {
            alert("无效数值");
        }
    }

    function setPlaybackRate(rate) {
        let video = findVideoElement();
        if (video) {
            video.playbackRate = parseFloat(rate);
        } else {
            console.error("未找到视频元素");
        }
    }

    function findVideoElement() {
        let video = null;
        Object.keys(selectors).forEach((key) => {
            if (location.host.replace(/\./g, "").includes(key)) {
                video = document.querySelector(selectors[key]);
            }
        });

        return video || document.querySelector('video');
    }

    registerMenu();
    document.addEventListener('keydown', onKeyDown);

})();