【发布时间】:2011-03-11 03:08:27
【问题描述】:
var audioPlaying = false;
if (!audioPlaying) {
// get a random audio element that has the class .sound
audio = $('.s' + (Math.round(Math.random() * $('.sounds').size())));
audio.get(0).play();
audioPlaying = true;
setTimeout(function(audioPlaying) {
audioPlaying = false;
}, 1000);
}
我正在开发一个在事件中播放声音的 javascript 东西。我不需要每秒播放一个以上的声音。我有一个函数检查音频是否正在播放(通过真/假变量),然后,如果是,则选择一个随机音频元素并播放它。然后将变量设置为正在播放音频 (true),然后设置超时以在 1 秒后将变量切换回 false。
这应该使音频至少在 1 秒后播放。但是,它似乎从未将 audioPlaying 变量设置回 false。播放其中一种声音,之后没有声音。如果我删除将 audioPlaying 更改为 true 的代码,则播放的声音之间没有任何间距。
有人知道怎么回事吗?
【问题讨论】:
标签: javascript jquery html audio