[JS] Day 28 - Video Speed Controller
7365 ワード
demo:
デモサイト
github:
Danji-ya
[JS] Day 28 - Video Speed Controller
🎯 機能要件
🚀 学識
video.playbackRate
playbackRate
プロパティは、ビデオ再生速度を設定できるようになったので、早送り、スロー送りなどのユーザ制御を実現することができる.また,マウス座標や比率値の変化などの情報は,従来の時間で実現した方法と類似しており,難しくはない.
💻 最終コード
(function(){
const video = document.querySelector('video');
const speed = document.querySelector('.speed');
const speedBar = document.querySelector('.speed-bar');
const percentToMinMax = (percent) => {
const min = 0.4;
const max = 4;
return (percent * (max - min) + min).toFixed(2);
}
const changeVideoSpeed = (percent) => {
const videoSpeed = percentToMinMax(percent);
speedBar.style.height = `${Math.round(percent * 100)}%`;
speedBar.textContent = `${videoSpeed}x`;
video.playbackRate = `${videoSpeed}`;
}
speed.addEventListener('mousemove', function(e){
const posY = e.pageY - this.offsetTop;
const percent = posY / this.offsetHeight;
changeVideoSpeed(percent);
});
})();
Reference
この問題について([JS] Day 28 - Video Speed Controller), 我々は、より多くの情報をここで見つけました https://velog.io/@jiseong/JS-Day-28-Video-Speed-Controllerテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol