0

ねえ、私はあなたの助けが必要です。すべてがセットアップされ、ランダム サウンド スクリプトに最適に機能しています。問題は、写真の上にマウスを置くと、ランダムなサウンドが再生されるように設定していることです (それが私が望んでいることです)。ただし、画像にマウスを合わせるたびに別の音が鳴り、別の音が再生されている間にもう一度マウスを合わせると別の音が鳴ります。最終的にはこれをより長いサウンドで実行したいと考えていますが、サウンドが重なって再生されると混乱してしまいます。一度に 1 つだけ再生するように設定する方法はありますか (ランダム選択)、または再生中のファイルが終了するまで開始しません。これを防ぐために何か???

コードは次のとおりです。

    $(document).ready(function(){
        $('audio').each(function(){
            this.volume = 0.4;
        });
        $(".ladyleepic img").mouseover(function(){
            var n = Math.ceil(Math.random() * 5);
            $("#audio"+n).trigger('play');
        });

    });

Dreamweaver CS6 で JQuery と Audio タグを使用していることを付け加えておきます。(オーディオ 1、2、3 など)

<audio id="audio1"

  <source src=".mp3"></source>
  <source src=".ogg"></source>

< /オーディオ

ありがとう、ビッグマーケス

4

1 に答える 1

1

サウンドの再生が終了したときにイベントをバインドする必要があります。

HTML5 オーディオ要素の再生がいつ終了したかを知るにはどうすればよいですか?

このイベントによって設定されるフラグを追加できます。

$(document).ready(function(){
    $('audio').each(function(){
        this.volume = 0.4;
    });
    var playing = false;
    $("audio").bind('ended', function(){
        playing = false;
    });

    $(".ladyleepic img").mouseover(function(){
        if (!playing) {
            var n = Math.ceil(Math.random() * 5);
            $("#audio"+n).trigger('play');
            playing = true;
        }
    });
});
于 2013-08-21T03:20:09.223 に答える