Javascript 在firefox中可以通过间歇发射播放

Javascript 在firefox中可以通过间歇发射播放,javascript,firefox,audio,jplayer,Javascript,Firefox,Audio,Jplayer,我正在尝试为游戏预加载音频文件。我正在使用Jplayer。我有一个覆盖被删除后,所有的音频已预加载。在Firefox中,有时canplaythrough会被解雇,有时不会。我有五个音频文件,有时我可以播放三个活动,有时四个,但我并不经常都能看到。如果我记录了哪些工作,那么事件并不总是在相同的音频文件上触发,或者不触发 我已经尽可能地破译了密码。在这里,我为每个音频文件添加了一个新的Jplayer实例,我仍然遇到同样的问题 { } 有些人调用_loadWatcher()函数,但其他人不调用 我做错

我正在尝试为游戏预加载音频文件。我正在使用Jplayer。我有一个覆盖被删除后,所有的音频已预加载。在Firefox中,有时canplaythrough会被解雇,有时不会。我有五个音频文件,有时我可以播放三个活动,有时四个,但我并不经常都能看到。如果我记录了哪些工作,那么事件并不总是在相同的音频文件上触发,或者不触发

我已经尽可能地破译了密码。在这里,我为每个音频文件添加了一个新的Jplayer实例,我仍然遇到同样的问题

{

}

有些人调用_loadWatcher()函数,但其他人不调用

我做错什么了吗?或者这是一个有解决方法的bug?我试过Jplayer谷歌小组,但出于某种原因,他们花了很多天来修改问题


谢谢

我的问题是在元素上实例化jPlayer之前绑定了事件。我没有意识到jplayer实际上是在等待一个定制事件——而不是标准的HTML5事件——所以我认为任何地方的绑定都可以。你生活和学习。因此,切换for循环中最后两行的顺序修复了这个问题。

我在Chrome中也遇到了这个问题。你有没有找到问题的原因和解决方法?
        for(var i = 0; i < _timeOutAudioFilesToLoad; i++){
            c = i + 1;
            var elid = "timeOutAudio"+c;
            var elt = '<div id="'+elid+'" class="audioPlayer audio-player" data-audio-file="/themes/foo/sounds/time'+c+'.mp3"></div>';  
            $("#jPlayers").append(elt);
            $("#"+elid).jPlayer( {
                swfPath: "/themes/foo/js/libs/jPlayer250/Jplayer.swf"
            });     
        }   
        $(".audioPlayer").each(function(){
            var audioFile = $(this).attr("data-audio-file");
            $(this).bind($.jPlayer.event.canplaythrough, function(event) { 
                _loadWatcher();
            });
            $(this).jPlayer("setMedia", {mp3: audioFile});
        })