检测视频.加载成功与否- javascript

detect if video.load is successful or not - javascript

本文关键字:javascript 成功 视频 加载 检测      更新时间:2023-09-26

如何知道歌曲加载是否成功?比如:

video.load({
        success : function() {
            alert("loading successful");
        },
        failure : function() {
            alert("loading not successful");
        } 
    });

我有要播放的歌曲列表,如果突然有网络连接问题,下一个视频无法播放,我想播放下一首已经加载的歌曲。

非常感谢!

这取决于你在加载视频时如何定义成功。能够完全播放视频是一回事,加载元数据是另一回事,两者都有相应的事件。失败也是一样:您会考虑长时间缓冲错误吗?

请参考HTMLMediaElement触发的事件列表:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement

对于监听这些事件,下面的代码可能会有所帮助:
var v = document.createElement("VIDEO");
v.addEventListener("error", function (e) {
    console.log("Error while loading the video");
});
v.addEventListener("loadeddata", function () {
    console.log("Video has started loading successfully!");
});
v.src = "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4";

你可以使用html5视频标签的错误属性(但这似乎只是IE在这个时候)。另一种方法(用于FireFox)是在Gecko 2.0 (FireFox 4/Thunderbird 3.3/SeaMonkey 2.1)中处理HTML 5视频错误。

要检测所有子元素加载失败,请检查媒体元素的networkState属性的值。如果这是HTMLMediaElement。NETWORK_NO_SOURCE,你知道所有的源都加载失败。

希望这对你有帮助!