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

HTML

웹 페이지에서 여러 개의 오디오 파일을 사용자의 추가 클릭이나 팝업 없이 자동으로 이어서 재생하고 싶은 경우가 있습니다. 이럴 때는 HTML의 <audio> 요소와 JavaScript의 onended 이벤트를 활용하면 간단하게 해결할 수 있습니다.

1. HTML로 오디오 요소 준비하기

먼저 순차적으로 재생할 오디오 요소들을 HTML에 정의합니다. 아래 예시처럼 각각 고유한 id를 부여해 주세요.

<audio id = "one">
    <source src = "new1.mp3" type = "audio/mp3">
</audio>
<audio id = "two">
    <source src = "new2.mp3" type = "audio/mp3">
</audio>

2. JavaScript로 순차 재생 구현하기

다음으로 첫 번째 오디오가 재생을 마쳤을 때 두 번째 오디오가 자동으로 시작되도록 스크립트를 작성합니다.

var one = document.getElementById('one');
one.onended = function() {
    document.getElementById('two').play();
}
one.play();

3. 동작 원리

onended 이벤트는 오디오 재생이 완료되는 순간 자동으로 발생합니다. 따라서 첫 번째 오디오(one)의 재생이 끝나면 콜백 함수 내부에서 두 번째 오디오(two)의 play() 메서드를 호출하여 즉시 다음 곡을 재생하게 됩니다.

핵심 포인트 정리

  • <audio> 요소마다 고유한 id를 지정하여 JavaScript로 접근할 수 있게 합니다.
  • onended 이벤트 핸들러 안에서 다음 오디오의 play()를 호출합니다.
  • 마지막에 첫 번째 오디오의 play()를 실행하면 전체 흐름이 자동으로 이어집니다.

이 방식을 응용하면 세 개 이상의 오디오도 같은 패턴으로 연결하여 플레이리스트처럼 연속 재생하는 기능을 손쉽게 만들 수 있습니다.