[英]playing (html5) audio on a timer
我有一个页面,需要根据数组的值播放声音(并播放整个数组)。 因此,例如,我有一个数组{1、0、0、0、1、1、0、1、0},我需要它们按顺序播放或暂停,1 =播放,0 =“暂停”。
到目前为止,我已经尝试了许多方法,但是无法按我期望的那样进行。
我得到的最接近的是:
$.each(myFinalList, function(i, playit){
if(playit == 1){
$("#results").append("Play..");
setTimeout("playSound()", 3250);
}
else{
$("#results").append("Nothing..");
setTimeout("doNothing()", 3500);
}
};
function playSound(){
var snd = new Audio('');
if(snd.canPlayType('audio/mp3')){
snd = new Audio('sound.mp3');
}
snd.play();
}
function doNothing(){
//dont do anything
}
这样做的问题是声音没有在适当的时间播放,就像没有调用doNothing()一样。
有什么想法吗?
听起来您想按顺序遍历myFinalList的每个元素,但每次迭代之间都有超时。 在这种情况下,您可能想要做类似的事情
function timer(index) {
if (myFinalList[i] == 1) playSound();
setTimeout(function() { timer(index+1); }, 3500);
}
timer(0);
它将每3500毫秒一次遍历myFinalList的每个元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.