weihou

微吼视频教程交互体验

目前为 2022-06-10 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name weihou
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.5
  5. // @description 微吼视频教程交互体验
  6. // @author galan99
  7. // @match https://live.vhall.com/room/watch/*
  8. // @license MIT
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. /* 使用es6声明 */
  13. /* jshint esversion: 6 */
  14.  
  15. (function() {
  16. 'use strict';
  17. function sleep(time) {
  18. return new Promise((resolve) => setTimeout(resolve, time));
  19. }
  20.  
  21. document.onkeydown = function(e) {
  22. var videoElement = document.querySelector("video");
  23. if (!videoElement) return;
  24. let code = e ? e.keyCode : "";
  25. var vol = 0.1; //1代表100%音量,每次增减0.1
  26. var time = 10; //单位秒,每次增减10秒
  27. if (code == 38) {
  28. // 上键
  29. videoElement.volume !== 1 ? videoElement.volume += vol : 1;
  30. } else if (code == 40) {
  31. // 下键
  32. videoElement.volume !== 0 ? videoElement.volume -= vol : 1;
  33. } else if (code == 37) {
  34. // 左键
  35. videoElement.currentTime !== 0 ? videoElement.currentTime -= time : 1;
  36. } else if (code == 39) {
  37. // 右键
  38. videoElement.volume !== videoElement.duration ? videoElement.currentTime += time : 1;
  39. } else if (code == 32) {
  40. // 空格键
  41. videoElement.paused ? videoElement.play() : videoElement.pause();
  42. } else if (code == 49) {
  43. // 1键 倍率1.0
  44. videoElement.playbackRate = 1;
  45. } else if (code == 50) {
  46. // 2键
  47. videoElement.playbackRate = 1.3;
  48. } else if (code == 51) {
  49. // 3键
  50. videoElement.playbackRate = 1.5;
  51. } else if (code == 52) {
  52. // 4键
  53. videoElement.playbackRate = 2;
  54. }
  55. }
  56.  
  57. function run() {
  58. var video = document.querySelector("video");
  59. var madol = document.querySelector("#vhy-danmaku-wrapbox");
  60. console.log(video)
  61. if (video && madol) {
  62. madol.style.display = "none";
  63. video.addEventListener("click", function() {
  64. if (video.paused) {
  65. video.play();
  66. } else {
  67. video.pause();
  68. }
  69. });
  70. } else {
  71. sleep(500).then(function() {
  72. run();
  73. });
  74. }
  75. }
  76. run()
  77. })();