1

私はこれらのサウンドをゲームに使用しているので、JQueryを介してプレイプロセス全体で何度もこれらのサウンドを呼び出しています。Firefoxではサウンドは正常に再生されますが、ChromeとSafariでは毎回1回しか再生されません。

<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関数があります。すべてのブラウザを適切にサポートするより良い方法はありますか?

4

1 に答える 1

1

サウンドを再生しているときは、オーディオチャネルで再生されます。リストしたコードを使用して、2番目のサウンドを再生しようとすると、同じオーディオチャネルで再生しようとします。この時点で最初のサウンドが終了していない場合は、2番目のサウンドの再生がブロックされます。秘訣は、オーディオ要素の再生が終了したかどうかを判断できるJavascriptを少し用意し、そうでない場合は別の要素を使用することです。

いくつかの良いサンプルコードを含むURLは次のとおりです:http://www.storiesinflight.com/html5/audio.html

于 2012-11-02T11:13:36.553 に答える