🎉 欢迎访问GreasyFork.Org 镜像站!本镜像站由公众号【爱吃馍】搭建,用于分享脚本。联系邮箱📮

Greasy fork 爱吃馍镜像

视频助手

使用键盘控制视频播放

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

// ==UserScript==
// @name         视频助手
// @namespace    https://github.com/Aoerz/UserScripts
// @version      0.2
// @description  使用键盘控制视频播放
// @author       Aoerz
// @include      https://www.icourse163.org/*
// @include      https://www.xuetangx.com/*
// @include      https://www.coursera.org/*
// @include      https://www.bilibili.com/*
// @include      https://v.qq.com/*
// @include      https://www.iqiyi.com/*
// @include      https://v.youku.com/*
// @grant        none
// ==/UserScript==
(function() {
  "use strict";
  var skipTime = 10;
  var skipVolume = 0.1;
  var volumeTemp;
  function xuetangxAssistant() {
    document.onkeydown = function(e) {
      var evt = e || window.event;
      var v = document.querySelector("video");
      event.preventDefault();
      switch (evt.keyCode) {
        case 90:
        case 37: {
          //left
          if (v.currentTime < skipTime) {
            v.currentTime = 0;
            alert("已到达视频开头,无法快退");
          }
          console.log("快退" + skipTime + "s");
          v.currentTime = v.currentTime - skipTime;
          break;
        }
        case 88:
        case 39: {
          //right
          if (v.currentTime > v.duration - skipTime) {
            alert("已到达视频末尾,无法快进");
            v.currentTime = v.duration;
          }
          console.log("快进" + skipTime + "s");
          v.currentTime = v.currentTime + skipTime;
          break;
        }
        case 68:
        case 38: {
          //up
          if (v.volume > 1 - skipVolume) {
            alert("到达最大音量");
            v.volume = 1;
            break;
          }
          console.log("音量放大" + skipVolume * 100 + "%");
          v.volume = v.volume + 0.1;
          break;
        }
        case 83:
        case 40: {
          //down
          if (v.volume < skipVolume) {
            alert("到达最小音量");
            v.volume = 0;
            break;
          }
          console.log("音量减小" + skipVolume * 100 + "%");
          v.volume = v.volume - skipVolume;
          break;
        }
        case 32: {
          //pause
          if (v.paused) {
            console.log("播放");
            v.play();
          } else {
            console.log("暂停");
            v.pause();
          }
          break;
        }
        case 70: {
          //fullscreen
          if (!document.fullscreenElement) {
            v.requestFullscreen();
          } else {
            if (document.exitFullscreen) {
              document.exitFullscreen();
            }
          }
          break;
        }
        case 77: {
          //muse
          if (v.volume === 0) {
            v.volume = volumeTemp;
          } else {
            volumeTemp = v.volume;
            v.volume = 0;
          }
          break;
        }
        case 36: {
          //home
          v.currentTime = 0;
          break;
        }
        case 35: {
          //end
          v.currentTime = v.duration;
          break;
        }
      }
    };
  }
  xuetangxAssistant();
})();