Advertisement
Guest User

Untitled

a guest
Jan 2nd, 2018
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 6.42 KB | None | 0 0
  1. <html>
  2. <head>
  3. <style type="text/css">
  4. video#vid {
  5.     width: 640px;
  6.     height: 480px;
  7.  
  8. }
  9.  
  10. video::-webkit-media-controls {
  11.     display:none !important;
  12. }
  13.  
  14. video::-webkit-media-controls-enclosure {
  15.   display:none !important;
  16. }
  17.  
  18. div#playercontrolls {
  19.     background: #333; /* set color later */
  20.     padding: 10px;
  21. }
  22.  
  23. div#playerContainer {
  24.  
  25. }
  26.  
  27. span#slider {
  28.     margin-top: -6px;
  29. }
  30.  
  31. .white-text {
  32.     text-color: white;
  33. }
  34.  
  35. input#seekslider {
  36.     width: 90vh;
  37. }
  38.  
  39. input#volumeslider {
  40.     width: 20vh;
  41. }
  42.  
  43. input[type='range'] {
  44.     -webkit-appearance: none !important;
  45.     background: #000;
  46.     border: #666 1px solid;
  47.     height: 6px;
  48. }
  49.  
  50. input[type='range']::-webkit-slider-thumb {
  51.     -webkit-appearance: none !important;
  52.     background: #FFF;
  53.     height: 15px;
  54.     width: 15px;
  55.     border-radius: 75%;
  56.     cursor:pointer;
  57. }
  58. input::-moz-range-track {
  59.     -webkit-appearance: none !important;
  60.     background: #000;
  61.     border: #666 1px solid;
  62.     height: 6px;
  63. }
  64.  
  65. input::-moz-range-track::-webkit-slider-thumb {
  66.     -webkit-appearance: none !important;
  67.     background: #FFF;
  68.     height: 15px;
  69.     width: 15px;
  70.     border-radius: 75%;
  71.     cursor:pointer;
  72. }
  73.  
  74. input[type=range]:focus {
  75.     outline: none;
  76. }
  77.  
  78. input::-moz-range-track:focus {
  79.     outline: none;
  80. }
  81.  
  82.  
  83. input#volumeslider {
  84.     background: linear-gradient(to right, black , grey);
  85. }
  86.  
  87. button.nokit {
  88.     -webkit-appearance: none !important;
  89.     background: none !important;
  90.     color: inherit;
  91.     border: none;
  92.     padding: 0! important;
  93.     font: inherit;
  94.     cursor: pointer;
  95.     outline: inherit !important;
  96.     opacity:0.7;
  97. }
  98. button.nokit:hover{
  99.     opacity:1;
  100. }
  101.  
  102. ::-webkit-media-controls {
  103.   display:none !important;
  104. }
  105.  
  106. ::-webkit-media-controls-enclosure {
  107.   display:none !important;
  108. }
  109. </style>
  110. </head>
  111. <body>
  112. <div id="playerContainer" class="container z-depth-1">
  113.     <div class="d-flex justify-content-center">
  114.         <video id="vid" autoplay>
  115.             <source src= "test.mp4" type="video/mp4"></source>
  116.         </video>
  117.     </div>
  118.     <div id="playercontrolls">
  119.         <button id="playpausebtn" class="nokit"><i class="fa fa-pause white-text" aria-hidden="true"></i></button>
  120.         <span class="slider"><input id="seekslider" type="range" min="0" max="100" value="0" step="0.1">    </span>
  121.         <span id="curtimetext" class="white-text"></span> / <span id="durtimetext" class="white-text"></span>
  122.         <button id="mutebtn" class="nokit"><i class="fa fa-volume-up white-text" aria-hidden="true"></i></button>
  123.         <span class="slider"><input id="volumeslider" type="range" min="0" max="100" value="100" step="1"></span>
  124.         <button id="fullscreenbtn" class="nokit"><i class="fa fa-desktop white-text" aria-hidden="true"></i> </button>
  125.     </div>
  126. </div>
  127. <script>
  128. var vid, playbtn, seekbar, curtimetext, durtimetext, mutebtn, volumeslider, fullscreenbtn;
  129. var lastVolume;
  130. var lastVolumeSlider;
  131. var userIsUpdatingTime = false;
  132.  
  133. function initPlayer(){
  134.     // setup object references
  135.     vid = document.getElementById('vid');
  136.     playbtn = document.getElementById('playpausebtn');
  137.     seekbar = document.getElementById('seekslider');
  138.     curtimetext = document.getElementById('curtimetext');
  139.     durtimetext = document.getElementById('durtimetext');
  140.     mutebtn = document.getElementById('mutebtn');
  141.     volumeslider = document.getElementById('volumeslider');
  142.     fullscreenbtn = document.getElementById('fullscreenbtn');
  143.  
  144.     // setup event listeners
  145.     playbtn.addEventListener("click", playPause, false);
  146.     vid.addEventListener("timeupdate", seekTimeUpdate,false);
  147.     seekbar.addEventListener("input",
  148.     function () {
  149.         userIsUpdatingTime = true;
  150.     }
  151.     ,false);
  152.     seekbar.addEventListener("change", vidSeek, false);
  153.     mutebtn.addEventListener("click", vidmute, false);
  154.     volumeslider.addEventListener("change", setvolume, false);
  155.     fullscreenbtn.addEventListener("click", togglefullscreen, false);
  156.  
  157.     vid.controls = false;
  158.     updateTime();
  159. }
  160.  
  161. window.onload = initPlayer;
  162.  
  163. function playPause(){
  164.     if(vid.paused){
  165.         vid.play();
  166.         playbtn.innerHTML = "<i class=\"fa fa-pause white-text\" aria-hidden=\"true\"></i>";
  167.     } else {
  168.         vid.pause();
  169.         playbtn.innerHTML = "<i class=\"fa fa-play white-text\" aria-hidden=\"true\"></i>";
  170.     }
  171. }
  172.  
  173. function vidSeek(){
  174.     var seekto = vid.duration * (seekbar.value / 100);
  175.     vid.currentTime = seekto;
  176.     userIsUpdatingTime = false;
  177. }
  178.  
  179. function seekTimeUpdate(){
  180.     if (userIsUpdatingTime)
  181.         return;
  182.  
  183.     var nt = vid.currentTime * (100 / vid.duration);
  184.     seekbar.value = nt;
  185.  
  186.     // update time text
  187.     updateTime();
  188. }
  189.  
  190. function updateTime(){
  191.     var curmins = Math.floor(vid.currentTime / 60);
  192.     var cursecs = Math.round(vid.currentTime - curmins * 60);
  193.     var durmins = Math.floor(vid.duration / 60);
  194.     var dursecs = Math.round(vid.duration - durmins * 60);
  195.  
  196.     if(cursecs < 10){ cursecs = "0"+cursecs;}
  197.    if(dursecs < 10){ dursecs = "0"+dursecs;}
  198.    if(durmins > 10)
  199.         if(curmins < 10){ curmins = "0"+curmins;}
  200.  
  201.    curtimetext.innerHTML = curmins+":"+cursecs;
  202.    durtimetext.innerHTML = durmins+":"+dursecs;
  203.  
  204.    if(vid.currentTime == vid.duration){
  205.        seekbar.value = 0;
  206.        vid.currentTime = 0;
  207.        vid.pause();
  208.        playbtn.innerHTML = "<i class=\"fa fa-pause white-text\" aria-hidden=\"true\"></i>";
  209.         }
  210.  
  211. }
  212.  
  213. function vidmute(){
  214.     if(vid.muted){
  215.         vid.volume = lastVolume;
  216.         volumeslider.value = lastVolumeSlider
  217.         vid.muted = false;
  218.         mutebtn.innerHTML = "<i class=\"fa fa-volume-up white-text\" aria-hidden=\"true\"></i>";
  219.     } else {
  220.         lastVolume = vid.volume;
  221.         vid.volume = 0;
  222.         lastVolumeSlider = volumeslider.value;
  223.         volumeslider.value = 0;
  224.         vid.muted = true;
  225.         mutebtn.innerHTML = "<i class=\"fa fa-volume-off white-text\" aria-hidden=\"true\"></i>";
  226.     }
  227. }
  228.  
  229. function setvolume(){
  230.     if(vid.muted && volumeslider.value != 0){
  231.        vid.muted = false;
  232.         mutebtn.innerHTML = "<i class=\"fa fa-volume-up white-text\" aria-hidden=\"true\"></i>";
  233.     }
  234.     vid.volume = volumeslider.value / 100;
  235. }
  236.  
  237. function togglefullscreen(){
  238.     if(vid.requestFullScreen){
  239.         vid.requestFullScreen();
  240.     } else if(vid.webkitRequestFullScreen){
  241.         vid.webkitRequestFullScreen();
  242.     } else if(vid.mozRequestFullScreen){
  243.         vid.mozRequestFullScreen();
  244.     }
  245. }
  246. </script>
  247. </body>
  248. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement