我很难理解为什么我的剧本没有播放我想要的声音。 我有一个非常简单的HTML / Javascript动画,其中有几个声音,在用户的交互中执行(滑动,点击,验证......)。
如果您想测试并查看完整的来源,请输入以下网址: http://artcode.fr/apps/bioprojet/simulation/index.html
问题出在第4步& 5: 第4步,点击红色按钮使其消失,执行"注入声音",播放"验证声音"然后转到步骤5,在倒计时到10期间每秒钟应执行一次时钟声音。
这种常规行为在桌面浏览器(Safari / Chrome)中是正常的,但是当在Safari移动设备上启动Chrome移动时,步骤4中的声音并不总是播放(有时甚至倒置),第5步的时钟声音是从未玩过。
我尝试了许多工作,但没有成功,因为:
以下是代码中的一部分:
if(e==4){
$("#voir_etape_3").addClass("voir_etape_on");
$("#bouchon_rouge").click(function(){
clic.play();
$("#anim_clic").animate({ top: "110px" }, { duration:50, complete: function(){
var pauseclic = setInterval(function(){
clearInterval(pauseclic);
valide.play();
$(".etape").hide();
$("#etape_5").show();
actions(5);
},2000);
}});
});
}
if(e==5){
$("#voir_etape_4").addClass("voir_etape_on");
var t=0;
var decompte = setInterval(function(){
t++;
if (t<=10){
tic.play();
$("#decompte").text(t);
if (t==10){ $("#decompte").addClass("decompte_on"); }
} else{
$("#decompte").addClass("decompte_on");
if (t==11){
clearInterval(decompte);
tictactic.pause();
//tictactic.currentTime = 0;
valide.play();
$(".etape").hide();
$("#etape_6").show();
actions(6);
}
}
}, 1000);
}
声音在我的javascript脚本开头定义:
var valide = new Audio('./graph/valide.mp3');
var tic = new Audio('./graph/tictac.mp3');
var tictactic = new Audio('./graph/tictactic.mp3');
var clic = new Audio('./graph/clic.mp3');