5

我有以下 HTML:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <video id="video1" preload="metadata" width="1024" height="576" loop="false">
        <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
    </video>

    <script>
        var video = document.getElementById('video1');
        video.addEventListener("ended", function() {
            alert('Ended');
        });

        video.play();
    </script>
</body>
</html>

在 chrome 和 firefox 中,视频会无限循环。将侦听器附加到pauseorended事件表明这些事件实际上从未被触发。

我需要知道视频何时结束(并且我需要它在结束时停止)。我究竟做错了什么?

4

3 回答 3

14

显然loop='false'仍然会导致它循环,您必须完全删除循环属性以防止循环。如果视频设置为循环播放,则不会调用 Ended。

于 2013-09-28T03:18:58.997 回答
1
    video.addEventListener("ended",function(){
        console.log("the video is end");
    },false);
于 2013-09-28T03:11:25.620 回答
0

也许你可以使用 ontimeupdate 和 currentTime

于 2013-09-28T03:37:17.393 回答