2013-10-21 2 views
4

오디오 재생이 중지되었을 때 이벤트를 트리거하는 방법을 알아 내려고합니다. HTML5 <audio> 태그를 사용하고 있습니다. 지금까지 duration 속성을 사용하여 오디오를 재생할 수는 있지만 지금은 그다지 할 수 없습니다. 모두 내가하고 싶은 일은 "play"문자열을 html() 메서드에 전달하여 오디오 재생이 끝나면 "일시 중지"표시를 유지하지 않기 위해서입니다.오디오 재생이 끝난 상태에서 JQuery 이벤트를 트리거하는 방법

전환 기능 :

$("#toggleButton").on("click", function(evt) { 
    if(audio.paused) { 
     audio.play(); 
     $(this).html("Pause"); 
    } 
    else { 
     audio.pause(); 
     $(this).html("Play"); 
    } 
}); 

나는 오디오의 메서드와 속성에 관한 문서를 찾기 위해 고군분투하고있다. JQuery와 Mozilla 네트워크 모두에서 "오디오"검색을 시도했지만 아무 것도 반환하지 않습니다.

+0

그래서 당신이 원하는 오디오 완성 기능을 발사하는 것입니다? 그 사건을 잡아라? – Sergio

+0

맞습니다. 오디오 트랙이 끝나 자마자 나는 불을 뿜을 수 있습니다. 그것은 JQuery의 컨텍스트에서 가능한 경우 이벤트가 될 필요가 없습니다. 오디오 트랙의 재생 시간이 끝나면 효과가있는 것입니다. – user1574598

답변

10

이 시도 :

audio.addEventListener('ended', function(){ 
    $("#toggleButton").html("Play"); 
}); 
+1

우수! 아주 잘 작동합니다. 괜찮 으면'on ('ended', function() ...) 메소드를 사용하여 약간 썼다. 또한 귀하의 링크를 체크 아웃 할 것입니다 :-) – user1574598

+0

@ user1574598, jQuery를 사용하는 것과 같습니다. 내 버전은 일반 자바 스크립트입니다. 원하는대로 사용하십시오. – Sergio

+1

환상적인 팁. 나는 이것에 대한 연구를 정말로했다. – Tales

1

소리가 완료되면 오디오 태그가 "onended"이벤트를 트리거해야합니다. 해당 이벤트에 후크하여 적절하게 단추 그래픽을 업데이트하십시오. 브라우저 지원은 언제나처럼 다양 할 수 있습니다.

관련 문제