去年的时候帮老婆做过这些,结果今年还要搞,当时是通过代码来调整播放速度的,不过没记录,今年就有些懒了,直接用插件来实现播放速度: ## 学习视频 两个方法,任选其一即可。 ### 插件 ``` https://greasyfork.org/zh-CN/scripts/381682-html5%E8%A7%86%E9%A2%91%E6%92%AD%E6%94%BE%E5%99%A8%E5%A2%9E%E5%BC%BA%E8%84%9A%E6%9C%AC ``` | 快捷键 | 说明 | |---|---| | ctrl+\ | 快捷键是否全网页可用,默认true | | Ctrl+space | 禁用/启用 该播放插件 | | → | 快进5秒 | | ← | 后退5秒 | | Ctrl+→ | 快进30秒 | | Ctrl+← | 后退30秒 | | ↑ | 音量升高 10% | | ↓ | 音量降低 10% | | Ctrl+↑ | 音量升高 20% | | Ctrl+↓ | 音量降低 20% | | C | 加速播放 +0.1 | | X | 减速播放 -0.1 | | Z | 正常速度播放 | | shift+C | 放大视频画面 +0.1 | | shift+X | 缩小视频画面 -0.1 | | shift+Z | 恢复视频画面 | | shift+P | 进入或退画中画功能 | | shift+S | 截图,截取当前画面并保存 | | shift+R | 启用或禁止自动恢复播放进度功能 | | shift+→ | 画面向右移动10px | | shift+← | 画面向左移动10px | | shift+↑ | 画面向上移动10px | | shift+↓ | 画面向下移动10px | | Enter | 进入全屏 | | shift+Enter | 进入网页全屏 | | N | 下一个/集视频(仅部分网站支持) | | D | 上一帧 (截图时进行微调以找到质量最佳的一帧) | | F | 下一帧 (不支持netflix,因为快捷键冲突)| | E | 亮度增加% | | W | 亮度减少% | | T | 对比度增加% | | R | 对比度减少% | | U | 饱和度增加% | | Y | 饱和度减少% | | O | 色相增加 1 度 | | I | 色相减少 1 度 | | K | 模糊增加 1 px | | J | 模糊减少 1 px | | Q | 图像复位 | | S | 画面旋转 90 度 | 需要装油猴,然后打开学习视频后狂按c,让播放速度加速至16倍速。 ### 不使用插件 打开视频播放,打开浏览器调试模式,输入以下代码 ```js var topWin = window.top.document.getElementById("mainCont").contentWindow; var player = topWin[0].jwplayer("container"); player.setMute(); player.config.playbackrates=[16,2,1.5,1,0.75,0.5]; var total_time = player.getDuration(); var current_time = player.getPosition(); var se = setInterval(function(){current_time = player.getPosition();if(current_time >= total_time-10){console.log("reset playRate!!!");topWin[0].document.getElementsByTagName('video')[0].playbackRate=1;clearInterval(se); }}, 2000); topWin[0].document.getElementsByTagName('video')[0].playbackRate=16; ``` 如果发现播放速度复位了,可以重复执行一下最后一句: ```js player.config.playbackrates=[16,2,1.5,1,0.75,0.5]; topWin[0].document.getElementsByTagName('video')[0].playbackRate=16; ``` ** 感觉使用代码这个总是不太稳定。 ** ## 学习时长 直接抓一个请求 ``` http://jxjy01.xidian.edu.cn/learnspace/course/study/learningTime_saveLearningTime.action ``` 的包,然后重复请求即可 自己做了个php的脚本来定时跑,代码如下: ```php <?php $url = 'http://jxjy01.xidian.edu.cn/learnspace/course/study/learningTime_saveLearningTime.action'; $cookie = '这里换上自己抓包的Cookies内容即可'; $data = [ 'courseId' => '自行抓包的数据中相应的值', 'studyTime' => 180 ]; $ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIE, $cookie); curl_setopt($ch, CURLOPT_USERAGENT, $ua); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec($ch); curl_close($ch); print_r($response); $response = json_decode($response, true); print_r(date('Y-m-d H:i:s')); echo "\n"; print_r($response); ``` 最后修改:5年前 © 著作权归作者所有