λ§μ°μ€μ΄λμ λ°λ₯Έ μμ μ¬μμλ μ‘°μ
μ΄κΈ° μ½λ
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Video Speed Scrubber</title>
<link rel="stylesheet" href="style_JuneHyung.css">
</head>
<body>
<div class="wrapper">
<video class="flex" width="765" height="430" src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4" loop controls></video>
<div class="speed">
<div class="speed-bar">1Γ</div>
</div>
</div>
</body>
</html>
μ΄κΈ° νλ©΄
λ―Έλμ΄κ° μ¬μλλ μλλ₯Ό μ€μ ν©λλ€.
빨리 κ°κΈ°, μ¬λ‘μ° λͺ¨μ
λ±μ λν μ¬μ©μ 컨νΈλ‘€μ ꡬννλ λ° μ¬μ©λ©λλ€.
μ μ μ¬μ μλμμ΄ κ°μ κ³±νμ¬ νμ¬ μλλ₯Ό μ»μ΅λλ€. 1.0 κ°μ μ μ μλλ₯Ό λνλ
λλ€.
μ°Έκ³ :
https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate
const speed = document.querySelector('.speed');
const bar = speed.querySelector('.speed-bar');
const video = document.querySelector('.flex');
height λ₯Ό %λ‘ μ‘°μ
const speed = document.querySelector('.speed');
const bar = speed.querySelector('.speed-bar');
const video = document.querySelector('.flex');
speed.addEventListener('mousemove', function(e){
// console.log(e);
const y = e.pageY - this.offsetTop;
const percent = y / this.offsetHeight;
const min = 0.4;
const max = 4;
const height = Math.round(percent * 100) + '%';
console.log(height);
bar.style.height = height;
// console.log(y);
// console.log(percent);
});
λ―Έλμ΄κ° μ¬μλλ μλ κ³μ°.
const speed = document.querySelector('.speed');
const bar = speed.querySelector('.speed-bar');
const video = document.querySelector('.flex');
speed.addEventListener('mousemove', function(e){
// console.log(e);
const y = e.pageY - this.offsetTop;
const percent = y / this.offsetHeight;
const min = 0.4;
const max = 4;
const height = Math.round(percent * 100) + '%';
const playbackRate = percent * (max - min) + min;
console.log(height);
bar.style.height = height;
bar.textContent = playbackRate.toFixed(2) + 'x';
// console.log(y);
// console.log(percent);
});
videoμ playbackRateκ°μ κ³μ°ν κ°μΌλ‘ μ€μ .
video.playbackRate = playbackRate;
λ©μλ λΆλ¦¬.
const speed = document.querySelector('.speed');
const bar = speed.querySelector('.speed-bar');
const video = document.querySelector('.flex');
function handleMove(e){
const y = e.pageY - this.offsetTop;
const percent = y / this.offsetHeight;
const min = 0.4;
const max = 4;
const height = Math.round(percent * 100) + '%';
const playbackRate = percent * (max - min) + min;
bar.style.height = height;
bar.textContent = playbackRate.toFixed(2) + 'x';
video.playbackRate = playbackRate;
}
speed.addEventListener('mousemove', handleMove);