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

Greasy fork 爱吃馍镜像

Greasy Fork is available in English.

视频助手

使用键盘控制视频播放

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

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

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

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

公众号二维码

扫码关注【爱吃馍】

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

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

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

公众号二维码

扫码关注【爱吃馍】

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

// ==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();
})();