Я пытаюсь предварительно загрузить аудиофайлы для игры. Я использую Jplayer. У меня есть наложение, которое удаляется после того, как все аудио было предварительно загружено. В Firefox иногда можно проиграть, а иногда и нет. У меня есть пять аудиофайлов, иногда я получаю три события с участием canplaythrough, иногда четыре, не часто я получаю все из них. Если я регистрирую, какие из них работают, событие не всегда запускается или нет, в тех же аудиофайлах.canplaythrough firing intermitently in firefox
Я попытался как можно больше сломать код. Здесь я добавляю новый экземпляр Jplayer для каждого аудиофайла, я все равно получаю ту же проблему.
{
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});
})
}
Функция _loadWatcher() вызывается некоторыми, но не другие.
Я что-то не так? Или это ошибка с обходным решением? Я пробовал Jplayer Google Group, но по какой-то причине они берут дни и дни на модные вопросы.
Благодаря
Я также страдаю этой проблемой в Chrome. Вы когда-нибудь находили причину и решение проблемы? – Shepless
См. Мой ответ ниже – theade