2012-11-02 3 views
1

나는이 사운드를 게임에 사용하고 있기 때문에 JQuery를 통해 재생 과정에서 여러 번 호출하고 있습니다. fireFox에서는 사운드는 정상적으로 재생되지만 Chrome 및 Safari에서는 매번 한 번만 재생됩니다.HTML5 오디오가 특정 브라우저에서 작동하지 않습니다.

<div class="audio-wrapper"> 

    <audio id="successSound" preload="auto"> 
     <source src="sounds/games-sound-fx/cashtill.ogg" type='audio/ogg; codecs="vorbis"'></source> 
     <source src="sounds/games-sound-fx/cashtill.mp3" type='audio/mpeg; codecs="mp3"'></source> 
    </audio> 

    <audio id="failSound" preload="auto"> 
     <source src="sounds/games-sound-fx/electric.ogg" type='audio/ogg; codecs="vorbis"'></source> 
     <source src="sounds/games-sound-fx/electric.mp3" type='audio/mpeg; codecs="mp3"'></source> 
    </audio> 

    <audio id="moveSound" preload="auto"> 
     <source src="sounds/games-sound-fx/throw.ogg" type='audio/ogg; codecs="vorbis"'></source> 
     <source src="sounds/games-sound-fx/throw.mp3" type='audio/mpeg; codecs="mp3"'></source> 
    </audio> 

    <audio id="hitSound" preload="auto"> 
     <source src="sounds/games-sound-fx/hit.ogg" type='audio/ogg; codecs="vorbis"'></source> 
     <source src="sounds/games-sound-fx/hit.mp3" type='audio/mpeg; codecs="mp3"'></source> 
    </audio> 

    <audio id="missSound" preload="auto"> 
     <source src="sounds/games-sound-fx/miss.ogg" type='audio/ogg; codecs="vorbis"'></source> 
     <source src="sounds/games-sound-fx/miss.mp3" type='audio/mpeg; codecs="mp3"'></source> 
    </audio> 

    <audio id="audio-bg"> 
     <source src="sounds/games-sound-fx/BGmusic.ogg" type='audio/ogg; codecs="vorbis"'></source> 
     <source src="sounds/games-sound-fx/BGmusic.mp3" type='audio/mpeg; codecs="mp3"'></source> 
    </audio> 
</div> 
나는이처럼 내 소리의 대부분을 호출 스크립트에서

..

var successSound = $("#successSound")[0]; 
successSound.play(); 

그러나 그들 중 일부는 그들에 timeOut에 기능을 가지고 있습니다. 모든 브라우저를 올바르게 지원하는 더 좋은 방법이 있습니까?

답변

1

사운드를 재생할 때 오디오 채널에서 재생됩니다. 목록에있는 코드를 사용하면 두 번째 사운드를 재생하려고하면 동일한 오디오 채널에서 재생하려고 시도합니다. 이 시점에서 첫 번째 사운드가 끝나지 않으면 두 번째 사운드가 재생되지 않습니다. 트릭은 오디오 요소가 & 재생을 완료했는지 여부를 알 수있는 Javascript가 없으면 다른 것을 사용하는 것입니다. 여기

가 좋은 예제 코드와 URL입니다 : 아직도 내가 그것을 시도 http://www.storiesinflight.com/html5/audio.html

+0

내가 했어 기쁨 @Lee 테오 볼드 –

+0

내가 링크 된 그 기사에서 코드를 사용하여 여기에 : HTTP : // jsfiddle .net/zXxGZ/11/그리고 작동하는 것 같습니다. 피리 소리는 몇 초 동안 지속됩니다. 재생 링크를 반복해서 누르면 반복 재생됩니다 (어쨌든 최대 10 회 재생). 그래도 코드 샘플을 포함시키지 않으면 답을 편집 할 수 있습니까? –

+0

감사합니다. 친구! 내가 소리를 어떻게 퇴색 시킬지 알고 있니? @ Lee Theobald –

관련 문제