使用jQuery+Javascript以空格播放HTML5音频元素
我正在开发一个javascript程序,可以在事件中播放声音。我不需要每秒播放一个以上的声音。我有一个函数检查音频是否通过真/假变量播放,如果是,则选择一个随机音频元素并播放它。然后设置变量,表示音频正在播放true,然后设置超时,在1秒后将变量切换回false 这将使音频播放时间至少为1秒。然而,它似乎从未将audioPlaying变量设置回false。其中一个声音被播放,之后就没有了。如果我删除将audioPlaying更改为true的代码,则播放的声音之间没有任何间隔使用jQuery+Javascript以空格播放HTML5音频元素,javascript,jquery,html,audio,Javascript,Jquery,Html,Audio,我正在开发一个javascript程序,可以在事件中播放声音。我不需要每秒播放一个以上的声音。我有一个函数检查音频是否通过真/假变量播放,如果是,则选择一个随机音频元素并播放它。然后设置变量,表示音频正在播放true,然后设置超时,在1秒后将变量切换回false 这将使音频播放时间至少为1秒。然而,它似乎从未将audioPlaying变量设置回false。其中一个声音被播放,之后就没有了。如果我删除将audioPlaying更改为true的代码,则播放的声音之间没有任何间隔 有人知道怎么回事吗?
有人知道怎么回事吗?试试这样的方法:
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);
}
试着这样做:
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);
}