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 では、ビデオが際限なくループします。pauseまたはイベントにリスナーをアタッチすると、endedこれらが実際には起動されないことがわかります。

ビデオがいつ終了したかを知る必要があります (終了時に停止する必要があります)。私は何を間違っていますか?

4

3 に答える 3

14

どうやらloop='false'まだループを引き起こしているようで、ループを防ぐために loop 属性を完全に削除する必要があります。動画がループするように設定されている場合、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 に答える