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
我正在尝试制作一个包含没有控件的视频播放器的网页。视频播放器从列表中随机选择一个视频,播放它,等待 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