HTML5 video speed controller and preferred speed adjustment

HTML5 video speed controller

  1. // ==UserScript==
  2. // @name HTML5 video speed controller and preferred speed adjustment
  3. // @namespace http://tampermonkey.net/
  4. // @version 3.1
  5. // @description HTML5 video speed controller
  6. // @author 我的名字十二个字不信你数
  7. // @include *
  8. // @grant none
  9. // ==/UserScript==
  10. (function () {
  11. 'use strict';
  12. var div = document.createElement("div");
  13. div.innerHTML = '<div id="speeddiv" style="position:fixed;left:5px;top:10px;z-index:9999999;font-size:1.5em;display:none"></div>'
  14. document.getElementsByTagName('body')[0].appendChild(div);
  15. var itime='';
  16. document.onkeydown = function (event) {
  17. if(!document.querySelector('video')) return;
  18. event = event || window.event
  19. var fg=false;
  20. if (event.keyCode == 190 && event.ctrlKey) {
  21. document.querySelector('video').playbackRate += 0.1
  22. fg=true
  23. }
  24. if (event.keyCode == 226 && event.ctrlKey) {
  25. document.querySelector('video').playbackRate -= 0.1
  26. fg=true
  27. }
  28. if (event.keyCode == 191 && event.ctrlKey) {
  29. document.querySelector('video').playbackRate += 0.05
  30. fg=true
  31. }
  32. if (event.keyCode == 188 && event.ctrlKey) {
  33. document.querySelector('video').playbackRate = 1
  34. fg=true
  35. }
  36. if (event.keyCode == 192 && event.ctrlKey) {
  37. document.querySelector('video').playbackRate = 1.15
  38. fg=true
  39. }
  40. if (event.keyCode == 219 && event.ctrlKey) {
  41. document.querySelector('video').playbackRate = 1.333333333
  42. fg=true
  43. }
  44. if (event.keyCode == 186 && event.ctrlKey) {
  45. document.querySelector('video').playbackRate = 1.5
  46. fg=true
  47. }
  48. if (event.keyCode == 221 && event.ctrlKey) {
  49. document.querySelector('video').playbackRate = 1.65
  50. fg=true
  51. }
  52. if(fg){
  53. if(itime!==''){
  54. clearTimeout(itime);
  55. }
  56. document.getElementById('speeddiv').style.display='block'
  57. document.getElementById('speeddiv').innerHTML='speed:'+document.querySelector('video').playbackRate.toFixed(2)
  58. itime=setTimeout(function(){
  59. document.getElementById('speeddiv').style.display='none'
  60. },2000)
  61. }
  62. }
  63. // Your code here...
  64. })();