Javascript 按设定间隔播放声音

Javascript 按设定间隔播放声音,javascript,audio,random,mp3,setinterval,Javascript,Audio,Random,Mp3,Setinterval,我试图显示一个图像,播放一个随机的声音,并按随机时间显示一个随机的名字。除了声音,一切都正常。它只是偶尔播放。。我不知道如何修复它——也许是播放某种声音的另一种方式。有什么建议吗 document.getElementById('myimage').style.display='none'; var mytime=新数组(“12000”、“22000”); var randomtime=mytime[Math.floor(Math.random()*mytime.length)]; setIn

我试图显示一个图像,播放一个随机的声音,并按随机时间显示一个随机的名字。除了声音,一切都正常。它只是偶尔播放。。我不知道如何修复它——也许是播放某种声音的另一种方式。有什么建议吗

document.getElementById('myimage').style.display='none';
var mytime=新数组(“12000”、“22000”);
var randomtime=mytime[Math.floor(Math.random()*mytime.length)];
setInterval(函数(){
///在这里调用你的函数
//工作
document.getElementById('myimage').style.display='block';
var myarray=新数组(“卡米拉”、“夏洛特”、“比塔”、“卡特琳”、“佩佩”、“沃尔”、“雷内”、“施密特”、“瑟霍姆”、“乌夫”、“克罗曼”);
var random=myarray[Math.floor(Math.random()*myarray.length)];
document.getElementById(“message”).innerHTML=random;
var collection=[];//要播放的声音的最终集合
var loadendex=0;//强制加载音频声音的可怕方式
函数初始化(音频){

对于(var i=0;i在您的允许下,我组织了一点代码。(仅一点)我尝试确保所有音频文件准备好播放,然后启动“循环”。每个audio.oncanplay的回调将增加集合中加载的音频文件的总nr。当此nr等于集合中的AudioTrack总数时,我们称为循环

var nreadytoplay=0;
var集合=[];
var配乐=[
“声音/camel1.mp3”,
“声音/camel2.mp3”,
“声音/camel3.mp3”
];
函数audioReady(){
nReadyToPlay++;
//当ready回调调用的nr等于配乐的nr时,开始循环。
如果(nReadyToPlay!==soundtracks.length)返回;
startoop()
}
函数初始化(音频){
对于(变量i=0;i对于(var i=0;iCHIKE浏览器控制台用于未处理的承诺拒绝)。此外,考虑在编写代码时使用缩进,否则很难读取。@确定性能HTML,并且在控制台中没有错误不知道什么是“CAMEL-LYEL”。是的,但我很兴奋。仍然不播放声音,只是有时候:在原始代码中,图像在10秒内显示,然后在再次循环之前消失。首先,我在本地运行它,可以确保它工作,其次,你必须与页面交互,(例如:单击,移动鼠标)否则浏览器将不会播放任何媒体。顺便说一句,我添加了“在再次循环之前消失”