`Preload.js`无法加载Android设备上的某些文件

时间:2015-04-13 07:41:56

标签: javascript android createjs android-browser preloadjs

在Android设备上加载文件时,

PreloadJS陷入了一个特定的步骤,而桌面浏览器和iPhone上的一切正常。

加载过程在最终的GIF文件中停止(如代码所示)。为什么无法加载此GIF文件?

这种情况发生在桌面浏览器之前,但没有错误,但那时它是由一些非标准的mp3文件引起的。如何在加载/初始化文件失败时处理这种异常?

以下是我用来加载文件的代码。

var preload = new createjs.LoadQueue();
createjs.Sound.alternateExtensions = ["ogg"];
preload.installPlugin(createjs.Sound)
preload.installPlugin(createjs.SpriteSheet)
preload.addEventListener("fileload", updateLoadingProcess); // show loading process

showWelcomeText();
var resources = {
    change: "assets/sound/change.mp3",
    click: "assets/sound/click.mp3",
    collide: "assets/sound/collide.mp3",
    game_over: "assets/sound/gameover.mp3",
    reset: "assets/sound/reset.mp3",
    win: "assets/sound/win.mp3",
    interface_assets: "assets/interface.png",
    raining_serial: "assets/raining-serial.gif",
    background: "assets/background.jpg",
    text: "assets/text-" + LANG + ".gif",
};
var loadedResource = 0;
var manifest = [];
for(var i in resources){
    manifest.push({id: i, src: resources[i] + _VER_ }); //add version to update cache
}

preload.loadManifest(manifest);

更新

我发现有些Android设备停在另一个点,第一个图像(interface.png),我真的不知道为什么,因为这些浏览器没有开发人员工具。

更新

通过不对这些图像文件使用XHR来解决问题,尽管我仍然不知道为什么。 var preload = new createjs.LoadQueue(false);可以使其发挥作用。

1 个答案:

答案 0 :(得分:0)

有一个WebAudioPlugin错误处理错误以及SoundJS和PreloadJS集成的一些问题已在最新版本SoundJS-NextPreloadJS-Next中得到修复。我建议尝试这些,看看你是否还有问题。

希望有所帮助。