如果声音正在播放 jquery

Posted

技术标签:

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

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

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

有什么想法吗?

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

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

干杯! 十二月

【问题讨论】:

【参考方案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 毫秒。

【讨论】:

以上是关于如果声音正在播放 jquery的主要内容,如果未能解决你的问题,请参考以下文章

只播放一次声音 Jquery

JQuery 代码只播放第一个 div 点击的声音

使用 jquery 播放声音通知

在 JavaScript \ jQuery 上播放游戏声音

Jquery 只播放一次声音

使用 Javascript/Jquery 停止 html 声音