Javascript音频无法播放

时间:2015-07-30 13:41:33

标签: javascript html5 audio

我很难理解为什么我的剧本没有播放我想要的声音。 我有一个非常简单的HTML / Javascript动画,其中有几个声音,在用户的交互中执行(滑动,点击,验证......)。

如果您想测试并查看完整的来源,请输入以下网址: http://artcode.fr/apps/bioprojet/simulation/index.html

问题出在第4步& 5: 第4步,点击红色按钮使其消失,执行"注入声音",播放"验证声音"然后转到步骤5,在倒计时到10期间每秒钟应执行一次时钟声音。

这种常规行为在桌面浏览器(Safari / Chrome)中是正常的,但是当在Safari移动设备上启动Chrome移动时,步骤4中的声音并不总是播放(有时甚至倒置),第5步的时钟声音是从未玩过。

我尝试了许多工作,但没有成功,因为:

  • " currenTime"和"暂停()"
  • " onended"事件,但似乎无法在移动设备上运行
  • 不同的声音,看问题是否来自这个问题(答案是否定的)
  • 倒置的地方

以下是代码中的一部分:

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');

0 个答案:

没有答案