티스토리 뷰

반응형

[javascript/html] videojs 비디오 custom progress bar 구현

 

이징(애니메이션)을 넣어서 표현하려고하였으나, 자연스럽게되긴하지만, 딜레이가 발생하여 정확한 프로그래스 표현에 한계가있어서 이징없이 구현하였다, 포스팅 요청시 이징 구현한 애니메이션 포함된 프로그래스바도 포스팅하겠다

 

 


#html 특별한 코드가 없다, relative와 absolute를 이용하여 bar와 value를 겹치게하였고, width를 %로 프로그래스바 구현

<!DOCTYPE html>
<html>
<body>
    <div style="height:20px; width:1800px;position: relative;background-color: red;" >
        <div class="hello" id="prg" style="top:0;bottom: 0; left:0;right:0; position:absolute; width:0%; background-color: aqua; " ></div>
    </div>
    <video id="myPlayer"  class="video-js" muted></video>
    <script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script>
    <script src="./progress.js"></script>
</body>
</html>

 

#javascript 이전에 포스팅한 timeupdate 이벤트를 활용하여, 연산된 값 적용


var player = videojs("myPlayer", {
    sources: [{ src: "/resources/1.mp4", type: "video/mp4" }],
    controls: false,
  });

  player.on("timeupdate", (e) => {
    document.getElementById('prg').style.width = (player.currentTime()/player.duration()*100).toFixed(0)+"%";
  });
  
  player.on("ended", () => {
      player.play();
  });
  
  player.load();
  player.play();

 

#progressbar #javascript #videojs #html #timeupdate

반응형
댓글
반응형