2011-03-17 8 views
5

를 종료 기능, 나는 다음과 같은 코드가 다음 sound.play 방법이 완료된 후, 나는이 완료되는 것을 경고하고자한다전화 소리가 자바 스크립트에서

var sound = new Audio(name); 
sound.onended = function() { 
    alert("finished"); 
    } 
sound.play(); 

. 이것은 IE9에서 작동하지만 Chrome에서이 작업을 수행 할 수있는 방법이 있습니까?

은 또한 아래의 코드와 같은 콜백을 시도하지만, 당신이 jQuery를 사용하고 있기 때문에 그것은 jPlayer 같은 것을 사용하는 것이

sound.play(function() {alert("finished")}); 
+0

Chrome에서 과거에 'onended'를 사용하는 데 어려움을 겪었습니다. 당신은 혼자가 아닙니다. – alex

답변

3

작동하지 않습니다. 여러 브라우저에서 이벤트를 훨씬 쉽고 일관되게 만들 수 있습니다. HTML5 오디오를 지원하는 브라우저에서는 HTML5 오디오를 사용하고 HTML5 오디오를 지원하지 않는 브라우저에서는 Flash를 사용합니다. SoundManager2을 사용할 수도 있습니다.

HTML5 오디오를 수동으로 사용하는 경우 Firefox와 Opera는 MP3를 지원하지 않습니다. 그들은 Ogg Vorbis를 지원합니다. Safari와 IE는 Ogg Vorbis를 지원하지 않지만 MP3를 지원합니다. Chrome은 MP3와 Ogg Vorbis를 모두 지원하지만 WAV는 지원하지 않습니다. 혹시라도 WAV를 재생하려고합니까? 그렇게하면 Chrome에서 작동하지 않습니다.

+0

MP3와 Ogg Vorbis를 사용하고 있습니다. –

+0

그러면 DOM 레벨 2 이벤트를 사용하거나 (Microsoft 특유의 이벤트 폴백을 기억해 두십시오) 아니면 그냥 내가 권장하는 라이브러리를 사용하십시오. – rsp