Custom Video Player
배운점
- HTMLMediaElemnet의 유용한 메소드들과 이벤트를 학습 했습니다.
- 미디어를 실행 시키는 HTMLMediaElemnet.play() 메소드와 정지시키는 HTMLMediaElemnet.paused() 메소드를 알게 되었습니다.
- 미디어의 현재 시간을 나타내는 HTMLMediaElemnet.currentTime 과, 미디어의 총 시간을 나타내는 HTMLMediaElemnet.duration 프로퍼티를 알게 되었습니다.
- 미디어의 시간의 변화를 감지하는 timeupdate 이벤트를 알게 되었습니다.
// Play & pause video
const toggleVideoStatus = (event) => {
if (video.paused) {
video.play();
} else {
video.pause();
}
};
video.addEventListener('timeupdate', updateProgress);
// Set video time to progress
const setVideoProgress = () => {
video.currentTime = (progress.value * video.duration) / 100;
};
<input type ='range'/>
를 간단하게 progress로 꾸며주는 프레임워크인 progress.css가 있다는걸 알게 되었습니다.
- ::-webkit-slider-thumb을 통해 range 바의 thumb 부분을 커스텀 할 수 있음을 알게 되었습니다.
- ::-webkit-slider-runnable-track 을 통해 range 바를 커스텀 할수 있음을 알게 되었습니다.
input[type='range']::-webkit-slider-thumb {
-webkit-appearance: none;
}
input[type='range']::-webkit-slider-runnable-track {
width: 100%;
height: 8.4px;
cursor: pointer;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
background: #3071a9;
border-radius: 1.3px;
border: 0.2px solid #010101;
}
Leave a comment