视频助手

使用键盘控制视频播放

目前为 2019-03-29 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name 视频助手
  3. // @namespace https://github.com/Aoerz/VideoAssistant
  4. // @version 0.1
  5. // @description 使用键盘控制视频播放
  6. // @author Aoerz
  7. // @include https://www.icourse163.org/*
  8. // @include https://www.xuetangx.com/*
  9. // @include https://www.coursera.org/*
  10. // @include https://www.bilibili.com/*
  11. // @include https://v.qq.com/*
  12. // @include https://www.iqiyi.com/*
  13. // @include https://v.youku.com/*
  14. // @grant none
  15. // ==/UserScript==
  16. (function() {
  17. "use strict";
  18. var skipTime = 10;
  19. var skipVolume = 0.1;
  20. var volumeTemp;
  21. function xuetangxAssistant() {
  22. document.onkeydown = function(e) {
  23. var evt = e || window.event;
  24. var v = document.querySelector("video");
  25. event.preventDefault();
  26. switch (evt.keyCode) {
  27. case 37: {
  28. //left
  29. if (v.currentTime < skipTime) {
  30. v.currentTime = 0;
  31. alert("已到达视频开头,无法快退");
  32. }
  33. console.log("快退" + skipTime + "s");
  34. v.currentTime = v.currentTime - skipTime;
  35. break;
  36. }
  37. case 39: {
  38. //right
  39. if (v.currentTime > v.duration - skipTime) {
  40. alert("已到达视频末尾,无法快进");
  41. v.currentTime = v.duration;
  42. }
  43. console.log("快进" + skipTime + "s");
  44. v.currentTime = v.currentTime + skipTime;
  45. break;
  46. }
  47. case 38: {
  48. //up
  49. if (v.volume > 1 - skipVolume) {
  50. alert("到达最大音量");
  51. v.volume = 1;
  52. break;
  53. }
  54. console.log("音量放大" + skipVolume * 100 + "%");
  55. v.volume = v.volume + 0.1;
  56. break;
  57. }
  58. case 40: {
  59. //down
  60. if (v.volume < skipVolume) {
  61. alert("到达最小音量");
  62. v.volume = 0;
  63. break;
  64. }
  65. console.log("音量减小" + skipVolume * 100 + "%");
  66. v.volume = v.volume - skipVolume;
  67. break;
  68. }
  69. case 32: {
  70. //pause
  71. if (v.paused) {
  72. console.log("播放");
  73. v.play();
  74. } else {
  75. console.log("暂停");
  76. v.pause();
  77. }
  78. break;
  79. }
  80. case 70: {
  81. //fullscreen
  82. if (!document.fullscreenElement) {
  83. v.requestFullscreen();
  84. } else {
  85. if (document.exitFullscreen) {
  86. document.exitFullscreen();
  87. }
  88. }
  89. break;
  90. }
  91. case 77: {
  92. //muse
  93. if (v.volume === 0) {
  94. v.volume = volumeTemp;
  95. } else {
  96. volumeTemp = v.volume;
  97. v.volume = 0;
  98. }
  99. break;
  100. }
  101. case 36: {
  102. //home
  103. v.currentTime = 0;
  104. break;
  105. }
  106. case 35: {
  107. //end
  108. v.currentTime = v.duration;
  109. break;
  110. }
  111. }
  112. };
  113. }
  114. xuetangxAssistant();
  115. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址