【问题标题】:if sound is playing jquery如果声音正在播放 jquery
【发布时间】:2010-11-05 09:09:46
【问题描述】:

我有一个带有触发声音文件开始播放的 mouseouver 事件的菜单。问题是如果用户将鼠标悬停在菜单中的另一个链接上,声音会再次播放。

我想弄清楚的是如何一次只播放一种声音? IE。等到当前声音播放完毕后再开始播放?

有什么想法吗?

这里是我目前的代码。它使用 jQuery.sound.js 插件。

.mouseover(function(){
$.fn.soundPlay({url: 'images/casino.wav'});
})

干杯! 十二月

【问题讨论】:

    标签: jquery audio


    【解决方案1】:

    做到这一点的唯一方法是在声音停止播放时触发回调。但是,我认为没有插件支持这样的功能:

    $.fn.soundPlay({url: 'images/casino.wav', 
                    finishedPlaying: function() {}});
    

    如果你有这个,你可以在声音开始播放时禁用鼠标悬停,并在结束时再次启用它。

    【讨论】:

      【解决方案2】:

      不确定您是否可以像普通的 jquery 函数一样等待 soundPlay 函数结束。

      如果您知道声音持续多长时间,我希望有一个使用已知持续时间打开和关闭的变量:

      var soundPlaying = false;
      .mouseover(function(){
          if (!soundPlaying) {
             $.fn.soundPlay({url: 'images/casino.wav'});
             soundPlaying = true;
             setTimeout('soundPlaying = false;',1000);
           }
      });
      

      我假设播放声音的持续时间为 1000 毫秒。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-24
        • 1970-01-01
        • 2012-06-21
        • 2016-08-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多