视频在Internet Explorer上的中止加载

时间:2012-04-03 09:18:23

标签: javascript html5 internet-explorer video loading

我正在开发这个JavaScript游戏,在发生任何事情之前管理它的资产加载。首先,预加载器类加载一个资产json文件,该文件包含要加载的所有列出的资产。此文件包含aprox的链接。 30张图片,8张json文件和5个视频。除了视频文件之外的每一个资产都可以在每个主要浏览器(firefox,safari,explorer,chrome)中正常加载,但这5个视频文件的加载会被Internet Explorer中止。

我正在使用 HTML样板,也许这与它有关。

这是我在网络视图中得到的: Network tab view in internet explorer Link to full size image file

有时,前两个视频加载,有时没有一个加载。这是加载这些视频的一大块代码:

case "ogv":
case "mp4":
    item = document.createElement('video');
    var itemSource = document.createElement('source');
    item.id = 'vid'; item.width = '600'; item.height = '450'; item.controls = false;
    if (extension == "mp4") {
        itemSource.id = 'mp4'; itemSource.type = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
    } else if (extension == "ogv") {
        itemSource.id = 'ogv'; itemSource.type = 'video/ogg; codecs="theora, vorbis"';
    }
    itemSource.src = pathToAsset;
    item.appendChild(itemSource);
    item.addEventListener("canplaythrough", onVideoCanPlaythrough, false);
    item.load();
    break;

这是监听程序处理程序:

var onVideoCanPlaythrough = function () {
    console.log("onVideoCanPlaythrough");
    item.removeEventListener("canplaythrough", onVideoCanPlaythrough, false);
    assets[assetID] = item;
    callback.call();
}

console.log("onVideoPlaythrough)在Internet Explorer上不会触发一次。

我已经检查确保其他所有内容都是正确的(我在pathToAsset变量中输入了正确的URL等等。这适用于所有其他浏览器 (除了歌剧,我还没有真正测试过)但不在IE上

有人可以建议如何处理这类问题的调试吗?

1 个答案:

答案 0 :(得分:0)

显然,您开始使用video.play()语句加载视频,而不是video.load()在Internet Explorer 9上加载。这太棒了!