Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM Video ended 속성 – 동영상 종료 여부 확인 및 남은 시간 계산하기

HTML DOM의 Video ended 속성은 <video> 요소로 재생 중인 동영상이 끝까지 도달했는지 여부를 나타내는 불리언 값(true/false)을 반환합니다.

  • true — 동영상 재생이 끝까지 진행되어 종료된 경우
  • false — 동영상이 아직 재생 중이거나 아직 시작되지 않은 경우

이 속성은 읽기 전용(read-only)이며, 동영상의 남은 재생 시간을 계산하거나 재생이 종료된 이후 특정 동작을 실행하는 로직을 작성할 때 유용하게 활용됩니다.

구문

ended 속성의 기본 구문은 다음과 같습니다 −

mediaObject.ended

속성에 접근하면 별도의 매개변수 없이 불리언 값이 바로 반환됩니다.

예제

HTML DOM Video ended 속성의 실제 사용 예제를 살펴보겠습니다 −

<!DOCTYPE html>
<html>
<head>
<title>HTML DOM Video ended</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-ended</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()" value="동영상이 끝나기까지 몇 초 남았나요?">
            <div id="divDisplay"></div>
        </fieldset>
    </form>
<script>
    var divDisplay = document.getElementById("divDisplay");
    var demo = document.getElementById("demo");
    function getTrackDetails() {
        if(demo.ended === false)
            divDisplay.textContent = '동영상 종료까지 남은 시간: '+(demo.duration - demo.currentTime)+'초';
    }
</script>
</body>
</html>

출력 결과

'동영상이 끝나기까지 몇 초 남았나요?' 버튼을 클릭하기 전 화면입니다 −

HTML DOM Video ended 속성 – 동영상 종료 여부 확인 및 남은 시간 계산하기

버튼을 클릭한 후 화면입니다 −

HTML DOM Video ended 속성 – 동영상 종료 여부 확인 및 남은 시간 계산하기

코드 설명

위 예제의 핵심 로직은 다음과 같이 동작합니다.

  1. <video> 요소와 결과를 표시할 <div> 요소를 각각 getElementById()로 가져옵니다.
  2. 버튼을 클릭하면 getTrackDetails() 함수가 실행됩니다.
  3. demo.ended === false 조건문으로 동영상이 아직 종료되지 않았는지 확인합니다.
  4. 종료되지 않았다면 전체 재생 길이(duration)에서 현재 재생 위치(currentTime)를 뺀 값을 계산해 남은 시간을 화면에 출력합니다.

만약 동영상이 이미 끝까지 재생되어 endedtrue를 반환한다면, 조건문이 실행되지 않으므로 남은 시간 대신 별도의 안내 메시지를 표시하도록 확장할 수도 있습니다.

함께 알아두면 좋은 관련 속성

  • currentTime — 현재 재생 위치(초 단위)를 반환하거나 설정합니다.
  • duration — 동영상의 전체 재생 길이(초 단위)를 반환합니다.
  • paused — 동영상이 일시정지 상태인지 여부를 반환합니다.

이 속성들을 조합하면 재생 진행률 표시, 자동 다음 영상 재생, 종료 시점 콜백 처리 등 다양한 커스텀 플레이어 기능을 구현할 수 있습니다.