HTML 视频播放器然后选择一个随机文件,自动播放它,然后等待 5 分钟并再次启动脚本

HTML video player than chooses a random file, autoplays it, then waits 5 minutes and starts the script again

我正在尝试制作一个包含没有控件的视频播放器的网页。视频播放器从列表中随机选择一个视频,播放它,等待 5 分钟,然后从列表中随机选择另一个视频并播放,一直播放。

我得到了以下代码,但它不起作用。加载页面时没有播放视频。

该目录包含单个 HTML 文件和 3 个 WEBM 文件(vidplayer.html 1.webm 2.webm 3.webm)中的代码。

    <html>
    <body>
        <video id="video" width=800 height=600 muted autoplay> <\video>

        <script>
            var vidList = ["1.webm", "2.webm", "3.webm"];

            var video = document.getElementById("video");

            function randInt(min, max) {
                return Math.floor(Math.random() * (max - min + 1) + min);
            }

            video.src = vidList[randInt(0,3)];

            while(true){
                setTimeout(video.src = vidList[randInt(0,3)], 300000) ;
            }
        <\script>
    <\body>
    <\html>

注意结束的 html 标签:<\script> 应该是 </script> 等等。

您的 while(true) 是一个无限循环并且正在创建无限超时。

你可能想做的事:

setInterval(function changeVideo() {
  video.src = vidList[randInt(0, 2)];
}, 300000);

setInterval 将每隔 300000 毫秒无限期调用一次。

这与调用 setTimeout 本身有相同的结果:

setTimeout(function changeVideo() {
  video.src = vidList[randInt(0, 2)];
  setTimeout(changeVideo, 300000);
}, 300000);

如果您希望三个视频的数字介于 0 和 2 之间,您应该调用 randInt(0, 2) 创建 randInt 的方式。

你可以看到它在工作,有几个视频,视频之间有 15 秒的延迟 here