2012-06-19 2 views
18

태그 재생이 끝나면 mp3를 재생하는 데 문제가 있습니다. 내가 이런 일을 할 때 :HTML5 오디오가 두 번 이상 재생되면 어떻게 감지합니까?

 myAudio.addEventListener("ended", function() 
    { 
      alert("ended"); 
    }); 

오디오가 처음 재생 될 때만 발생합니다. 오디오를 다시 재생하면 아무 일도 일어나지 않습니다. onended=doThis(); 메서드를 사용할 때도 같은 결과가 발생합니다. 어쩌면 jQuery에서 할 수있는 방법이 있다고 들었지만 작동시키지 못했습니다. 나는 또한 id MP3를 재생할 때마다 오디오 div를 변경하여 문제를 해결할 수있는 방법이 있다고 들었지만, 동일하게 유지하려면 id이 필요하기 때문에이 방법이 저에게는 효과적이지 않습니다.

아이디어를 얻은 사람이 있습니까?

+0

http://jsfiddle.net/MvzFN/2/은 (/ 참조 크롬에서 듣기) :이 바이올린에 oneneded 이벤트는 항상 – fcalderan

+0

자바 스크립트에서 오디오 HTML 태그와하지를 만드는 시도 트리거 될 것으로 보인다. 아직도 너 한테 효과가 있니? – evenodd

+1

예 여전히 작동합니다 : http://jsfiddle.net/MvzFN/3/ – fcalderan

답변

30

ended 이벤트는 .currentTime 속성을 기반으로 만들어집니다. http://dev.w3.org/html5/spec/Overview.html#event-media-ended

이렇게하려면 .currentTime을 다시 0으로 설정하면됩니다.

myAudio.addEventListener("ended", function(){ 
    myAudio.currentTime = 0; 
    console.log("ended"); 
}); 
+1

그랬습니다. 그것! 그러나 그 전에는 멈추어야했는데, 그렇지 않으면 그냥 끝이없는 루프가 될 것이기 때문입니다. – evenodd

관련 문제