Greasy Fork is available in English.

通用视频网课加速脚本 - 用户设置倍速|各类成人教育|各类继教|大学生网课|视频加速插件|融优学堂|168网校等

允许用户设置视频播放速度,支持多种播放器|各类成人教育|各类继教|大学生网课|视频加速插件|融优学堂|168网校|国开等,如需合作业务请联系作者:white996_1

// ==UserScript==  
// @name         通用视频网课加速脚本 - 用户设置倍速|各类成人教育|各类继教|大学生网课|视频加速插件|融优学堂|168网校等  
// @namespace    your_namespace  
// @version      1.0  
// @description  允许用户设置视频播放速度,支持多种播放器|各类成人教育|各类继教|大学生网课|视频加速插件|融优学堂|168网校|国开等,如需合作业务请联系作者:white996_1
// @author       white996_1
// @match        *://*/*  
// @grant        none  
// ==/UserScript==   
  
(function() {  
    'use strict';  
  
    // 监听F2键的按下事件  
    document.addEventListener('keydown', function(e) {  
        if (e.key === 'F2') { // 检查F2键  
            var newRate = prompt('请输入视频播放速度(例如:1.0代表1.0倍速)', '1.0'); // 弹出输入框  
  
            if (newRate !== null) { // 用户点击了确定按钮  
                // 转换输入为数字,并限制在合理范围内  
                newRate = parseFloat(newRate);  
                if (isNaN(newRate) || newRate <= 0 || newRate > 10) {  
                    alert('请输入一个有效的速度值(0到10之间)!');  
                    return;  
                }  
  
                try {  
                    var videoPlayers = Array.from(document.getElementsByTagName('video'));  
                    videoPlayers.forEach(function(player) {  
                        if (player.playbackRate !== undefined) {  
                            player.playbackRate = newRate;  
                        }  
                    });  
  
                    var jwPlayers = document.querySelectorAll('.jwplayer'); // 假设有.jwplayer类  
                    jwPlayers.forEach(function(container) {  
                        var playerInstance = jwplayer(container); // 尝试获取实例  
                        if (playerInstance && typeof playerInstance.setPlaybackRate === 'function') {  
                            playerInstance.setPlaybackRate(newRate);  
                        }  
                    });  
  
                    var videoJsPlayers = videojs.getAllPlayers(); // 获取所有Video.js实例  
                    videoJsPlayers.forEach(function(player) {  
                        player.playbackRate(newRate);  
                    });  
  
                
                    var flowPlayers = document.querySelectorAll('.flowplayer'); // 假设有.flowplayer类  
                    flowPlayers.forEach(function(container) {  
                        var api = flowplayer(container).getEngine(); // 获取Flowplayer API  
                        if (api && typeof api.setPlaybackRate === 'function') {  
                            api.setPlaybackRate(newRate);  
                        }  
                    });  
                    console.log('视频播放速度已设置为:' + newRate);  
                } catch (err) {  
                    console.error('设置播放速度失败:', err);  
                }  
            }  
        }  
    });  
})();