Global Media Playback Speed Control

Control playback speed for any media on a webpage using keyboard shortcuts.

  1. // ==UserScript==
  2. // @name Global Media Playback Speed Control
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.3
  5. // @description Control playback speed for any media on a webpage using keyboard shortcuts.
  6. // @author Your Name
  7. // @match *://*/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. // Adjust speed increment value
  15. const speedStep = 0.1;
  16.  
  17. // Listen for keydown events
  18. document.addEventListener('keydown', function(event) {
  19. if (event.target.tagName.toLowerCase() !== 'input' && event.target.tagName.toLowerCase() !== 'textarea') {
  20. let mediaElements = document.querySelectorAll('video, audio');
  21.  
  22. if (event.key === '[') {
  23. mediaElements.forEach(media => {
  24. media.playbackRate = Math.max(0.1, media.playbackRate - speedStep);
  25. console.log(`Playback speed decreased to: ${media.playbackRate}`);
  26. });
  27. } else if (event.key === ']') {
  28. mediaElements.forEach(media => {
  29. media.playbackRate += speedStep;
  30. console.log(`Playback speed increased to: ${media.playbackRate}`);
  31. });
  32. }
  33. }
  34. });
  35.  
  36. })();