JS 实现在指定的时间点播放列表中的视频
为了实现在指定的时间点播放列表中的视频,你可以使用JavaScript中的setTimeout或setInterval结合HTML5的<video>元素。但是,由于你需要处理多个时间点,并且每个时间点播放不同的视频,使用setTimeout会更直接一些,因为你可以为每个时间点设置一个独立的定时器。
以下是一个基本的实现思路:
定义一个视频列表,包含视频URL和播放时间点。
遍历这个列表,为每个时间点设置setTimeout。
当定时器触发时,检查当前页面上是否有正在播放的视频,如果有,则先暂停或停止它。
加载并播放指定时间点的视频。
这里是一个简单的示例代码:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Scheduled Video Player</title>
</head>
<body>
<video id="videoPlayer" width="320" height="240" controls></video>
<script>
// 视频列表,包含URL和播放时间点(秒)
const videoSchedule = [
{ url: 'video1.mp4', time: 5 },
{ url: 'video2.mp4', time: 15 },
{ url: 'video3.mp4', time: 30 }
];
let currentVideo = null; // 当前播放的视频
// 初始化视频播放器
const videoPlayer = document.getElementById('videoPlayer');
// 播放指定视频
function playVideo(url) {
if (currentVideo) {
currentVideo.pause(); // 如果有正在播放的视频,先暂停
currentVideo.src = ''; // 清空视频源
}
videoPlayer.src = url; // 设置新的视频源
videoPlayer.play(); // 播放新视频
currentVideo = videoPlayer; // 更新当前播放的视频
}
// 遍历视频列表,设置定时器
videoSchedule.forEach(video => {
setTimeout(() => {
playVideo(video.url);
}, video.time * 1000); // 将秒转换为毫秒
});
</script>
</body>
</html>
注意:
示例中的video1.mp4、video2.mp4和video3.mp4需要替换为实际的视频文件URL。
videoPlayer.src = ''; 这行代码用于清空视频源,这样可以确保当新视频开始播放时,旧的视频内容不会残留在播放器中。但这种方法在某些浏览器中可能不是必需的或可能不起作用,具体取决于浏览器的实现。
示例中使用了controls属性在<video>标签中,这样用户就可以手动控制视频的播放。如果你不需要这些控件,可以移除controls属性。
请确保你的网页有权访问这些视频文件,特别是如果它们托管在不同的域上,你可能需要处理跨域资源共享(CORS)问题。
fffffffffffffffff
test red font.

浙公网安备 33010602011771号