【问题标题】:RANDOM PLAY SOUND OVERLAP随机播放声音重叠
【发布时间】:2013-08-21 00:13:54
【问题描述】:

嘿,我需要你的帮助。我已经为我的随机声音脚本进行了一切设置和工作。问题是我将它设置为当我将鼠标悬停在图片上时它会播放随机声音(这就是我想要的)。但是,每次我将鼠标悬停在图片上时,它都会发出另一种声音,如果我再次将鼠标悬停在它上面,而另一种声音仍在播放,则会发出另一种声音。我最终想用更长的声音来做到这一点,但是如果声音在彼此之上播放,那将是一团糟。有没有办法设置它,使其一次只播放一个(随机选择)或在播放文件完成之前不开始。有什么办法防止这种情况???

代码如下:

    $(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 和音频标签。 (音频1、2、3等)

<audio id="audio1"

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

音频

谢谢你, 大市场

【问题讨论】:

    标签: javascript function audio random ready


    【解决方案1】:

    您需要在声音播放结束时绑定一个事件:

    How can I tell when an HTML5 audio element has finished playing?

    您可以添加一个由该事件设置的标志。

    $(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;
            }
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      相关资源
      最近更新 更多