Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Html5音频播放延迟_Javascript_Html_Audio - Fatal编程技术网

Javascript Html5音频播放延迟

Javascript Html5音频播放延迟,javascript,html,audio,Javascript,Html,Audio,我很难用我创建的间隔来定位simpletimer的问题。() 我设置的计时器在最后3秒钟内每秒钟播放一次声音。当我将计时器设置为10秒时,声音会正常播放,但当我将计时器设置为12秒时,声音的第一次播放会有延迟,几乎与2秒时的声音同时播放 兄弟们,我在这里不知所措,我真的很感激你们能帮我解决这个问题。谢谢 html,正文{ 字体系列:“Roboto”; 字体大小:300; 文本对齐:居中; 宽度:100%; 身高:100%; 溢出:隐藏; 字体大小:30px; 边际:0px; 边缘顶部:10p

我很难用我创建的间隔来定位simpletimer的问题。()

我设置的计时器在最后3秒钟内每秒钟播放一次声音。当我将计时器设置为10秒时,声音会正常播放,但当我将计时器设置为12秒时,声音的第一次播放会有延迟,几乎与2秒时的声音同时播放

兄弟们,我在这里不知所措,我真的很感激你们能帮我解决这个问题。谢谢


html,正文{
字体系列:“Roboto”;
字体大小:300;
文本对齐:居中;
宽度:100%;
身高:100%;
溢出:隐藏;
字体大小:30px;
边际:0px;
边缘顶部:10px;
用户选择:无;
}
输入{
字体系列:“Roboto”;
字体大小:300;
字距:100;
边界:0px;
字体大小:30px;
填充:0px;
高度:30px;
线高:30px;
填充:0px;
边际:0px;
大纲:无;
边界:0px;
}
#计时器{
字体大小:520px;
宽度:100%;
字号:100;
高度:520px;
线高:520px;
文本对齐:居中;
}
#轮{
宽度:275px;
浮动:左;
}
#轮次输入{
宽度:100px;
文本对齐:右对齐;
}
钮扣{
字体系列:“Roboto”;
字号:100;
字距:100;
字体大小:20px;
高度:40px;
宽度:200px;
浮动:对;
}
跨度{
-webkit用户选择:无;/*Chrome、Opera、Safari*/
-moz用户选择:无;/*Firefox 2+*/
-ms用户选择:无;/*IE 10+*/
用户选择:无;/*标准语法*/
}
#供应{
宽度:600px;
左边距:自动;
右边距:自动;
利润上限:70像素;
}
投入:聚焦,
选择:焦点,
文本区域:焦点,
按钮:焦点{
大纲:无;
}
}

轮次:

开始 无功定时器; 变量t; var显示; var-tIn; var-tRn; var-sec; var-min; var轮数; var轮=1; var running=false; 蜂鸣音; var-roundBeep; 变量endBeep; 函数init(){ beep=新音频(“beep.mp3”); beep.preload='auto'; roundBeep=新音频(“round.mp3”); roundBeep.preload='auto'; endBeep=新音频(“end.mp3”); endBeep.preload='auto'; } 功能p(声音,音量=1){ console.log(“播放声音!:”+声音); 声音.音量=音量; 声音。播放(); } 函数startTimer(){ if(running==true){ 停止计时器(); 返回; } 运行=真; document.getElementById(“btn”).innerHTML=“停止”; tIn=document.getElementById(“计时器”).value; tRn=document.getElementById(“roundsUM”).value; 轮数=tRn; 轮=1; 重置时间(); document.getElementById(“计时器”).disabled=true; document.getElementById(“roundsum”).disabled=true; 定时器=设置间隔(eSec,1000); } 函数stopTimer(){ 清除间隔(计时器); p(endBeep); 日志(“计时器停止”); 运行=错误; document.getElementById(“计时器”).value=tIn; document.getElementById(“roundsum”).value=tRn; document.getElementById(“btn”).innerHTML=“开始”; document.getElementById(“计时器”).disabled=false; document.getElementById(“roundsum”).disabled=false; } 函数resetTime(){ t=锡分裂(“:”); min=t[1]!=未定义?t[0]:0; sec=t[1]?t[1]:t[0]; } 函数eSec(){ 如果(秒==0&&min>0){ min-=1; 秒=59; }else if(最小==0&&sec==0&&rounds==round){ 停止计时器(); 控制台日志(“计时器结束”); 返回; }否则如果(最小==0&&sec==1&&rounds!=rounds){ round++; p(roundBeep); 重置时间(); 控制台日志(“圆形”); }否则{ sec-=1; 如果(秒<4和秒!=0){ p(嘟嘟声); 控制台日志(“嘟嘟声”); } } document.getElementById(“roundsum”).value=round+“/”rounds; document.getElementById(“计时器”).value=min>0?min+“:”+秒:秒; }
我真的很累,但我没有赶上延迟。这在所有浏览器中都会发生吗?很好,我想我已经修复了它!:)删除了init()函数中的播放声音。更新了上面的代码。谢谢我真的很累,但我没有赶上延误。这在所有浏览器中都会发生吗?很好,我想我已经修复了它!:)删除了init()函数中的播放声音。更新了上面的代码。谢谢