Set HTML5 video volume

Script to set the volume of <video> elements to 50%.

  1. // ==UserScript==
  2. // @name Set HTML5 video volume
  3. // @description Script to set the volume of <video> elements to 50%.
  4. // @namespace JeffersonScher
  5. // @author Jefferson "jscher2000" Scher
  6. // @copyright Copyright 2015 Jefferson Scher
  7. // @license BSD
  8. // @include *
  9. // @version 0.5
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. var setvol_volumepct = 0.5; // Set volume to 50%
  14.  
  15. // == == == Detect added nodes / attach MutationObserver == == ==
  16. if (document.body){
  17. // Check existing videos
  18. setvol_checkNode(document.body);
  19. // Watch for changes that could be new videos
  20. var setvol_MutOb = (window.MutationObserver) ? window.MutationObserver : window.WebKitMutationObserver;
  21. if (setvol_MutOb){
  22. var setvol_chgMon = new setvol_MutOb(function(mutationSet){
  23. mutationSet.forEach(function(mutation){
  24. for (var setvol_node_count=0; setvol_node_count<mutation.addedNodes.length; setvol_node_count++){
  25. if (mutation.addedNodes[setvol_node_count].nodeType == 1){
  26. setvol_checkNode(mutation.addedNodes[setvol_node_count]);
  27. }
  28. }
  29. });
  30. });
  31. // attach setvol_chgMon to document.body
  32. var setvol_opts = {childList: true, subtree: true};
  33. setvol_chgMon.observe(document.body, setvol_opts);
  34. }
  35. }
  36.  
  37. function setvol_checkNode(el){
  38. if (el.nodeName == "video") var vids = [el];
  39. else var vids = el.querySelectorAll('video');
  40. if (vids.length > 0){
  41. for (var j=0; j<vids.length; j++){
  42. vids[j].volume = setvol_volumepct;
  43. }
  44. }
  45. }

QingJ © 2025

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