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