HTML DOM의 Video playbackRate 속성은 미디어(비디오)의 현재 재생 속도를 나타내는 숫자 값을 가져오거나 설정하는 데 사용됩니다. 이 속성을 활용하면 자바스크립트만으로 동영상을 빠르게 또는 느리게 재생할 수 있습니다.
문법(Syntax)
playbackRate 속성의 사용 문법은 다음과 같습니다.
재생 속도 값 가져오기
mediaObject.playbackRate
재생 속도 값 설정하기
mediaObject.playbackRate = number
참고: playbackRate에 설정할 수 있는 숫자의 최대값은 16이며, 값이 0.0이면 비디오가 정지된 상태로 표시됩니다. 기본값은 1(정상 속도)입니다.
예제
다음은 Video playbackRate 속성을 활용한 실제 예제입니다. 버튼을 클릭하면 재생 속도가 0.5씩 증가하거나 감소합니다.
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM Video playbackRate</title>
<style>
* {
padding: 2px;
margin:5px;
}
form {
width:70%;
margin: 0 auto;
text-align: center;
}
input[type="button"] {
border-radius: 10px;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>HTML-DOM-Video-playbackRate</legend>
<video id="demo" width="320" controls><source src="https://www.tutorialspoint.com/html5/foo.mp4" type="video/mp4"></video><br>
<input type="button" onclick="getTrackDetails(1)" value="느리게 (<<)">
<input type="button" onclick="getTrackDetails(2)" value="빠르게 (>>)">
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var demo = document.getElementById("demo");
function getTrackDetails(val) {
if(val === 1){
demo.playbackRate -= 0.5;
divDisplay.textContent = '현재 재생 속도: '+demo.playbackRate;
}
else{
demo.playbackRate += 0.5;
divDisplay.textContent = '현재 재생 속도: '+demo.playbackRate;
}
}
</script>
</body>
</html>실행 결과
'빠르게 (>>)' 버튼을 두 번 클릭하면 재생 속도가 기본값 1에서 0.5씩 두 번 증가하여 2배속으로 설정됩니다.

이후 '느리게 (<<)' 버튼을 한 번 클릭하면 재생 속도가 0.5 감소하여 1.5배속으로 변경됩니다.

정리
playbackRate 속성은 값이 1보다 작으면 슬로우 모션처럼 느리게 재생되고, 1보다 크면 배속 재생이 됩니다. 음수 값은 허용되지 않으며, 브라우저에 따라 지원 범위가 다를 수 있으므로 실제 서비스에서는 값의 유효 범위를 검증하는 것이 좋습니다.