Advertisement
AlexanderNorup

Video Scaler for non 16:9 screens

Nov 21st, 2018
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var scaleToFitToggle = false;
  2. var cooldownKey = false;
  3. function keydownHandler(e) {
  4.     if (e.keyCode == 67 && e.altKey && !cooldownKey) {
  5.         if(scaleToFitToggle == false){
  6.             console.log("[Video Resizer] Executing 'sizeToFit();'");
  7.             sizeToFit();
  8.             scaleToFitToggle = true;
  9.         }else{
  10.             console.log("[Video Resizer] Executing 'resetScale();'");
  11.             resetScale();
  12.             scaleToFitToggle = false;
  13.         }
  14.         cooldownKey = true;
  15.         setTimeout(function(){
  16.             cooldownKey = false;
  17.         },500);
  18.     }
  19. }
  20.  
  21. if (document.addEventListener) {
  22.     document.addEventListener('keydown', keydownHandler, false);
  23. }
  24.  
  25. function resetScale(){
  26.     var videoTags = document.querySelectorAll("video[scaledToFit='true']");
  27.     for(var i in videoTags){
  28.         var v = videoTags[i];
  29.         if(typeof v !== "object"){continue;}
  30.         console.log("Video tag gennemgås nu: ");
  31.         console.log(v);
  32.         v.style.transform = "";
  33.     }
  34. }
  35.  
  36. function sizeToFit(){
  37.     var videoTags = document.querySelectorAll("video");
  38.     for(var i in videoTags){
  39.         var v = videoTags[i];
  40.         if(typeof v !== "object"){continue;}
  41.         console.log("Video tag gennemgås nu: ");
  42.         console.log(v);
  43.         v.style.transition =".5s";
  44.         var videoheight = v.videoHeight;
  45.         var screenHeight = screen.height * window.devicePixelRatio;
  46.  
  47.         var scale = 1+(1-((screenHeight / videoheight)/2));
  48.         console.log("Scaling to: " + scale);
  49.         v.style.transform = "scale(" + scale + ")";
  50.         v.setAttribute("scaledToFit", "true");
  51.     }
  52.  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement