首页 > 其他分享 >JS 实现在指定的时间点播放列表中的视频

JS 实现在指定的时间点播放列表中的视频

时间:2024-07-17 16:42:10浏览次数:15  
标签:视频 url videoPlayer JS currentVideo mp4 播放列表 播放

 

为了实现在指定的时间点播放列表中的视频,你可以使用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)问题。

  

标签:视频,url,videoPlayer,JS,currentVideo,mp4,播放列表,播放
From: https://www.cnblogs.com/wgscd/p/18307750

相关文章

  • js 将table转成Excel
    1.情景展示如何使用js将网页中的表格转成Excel文件?2.具体分析通过SheetJS的xlsx.js文件实现。3.解决方案下载地址:https://github.com/SheetJS/sheetjs/archive/refs/tags/v0.18.5.zip打开压缩包,找到dis目录下的xlsx.full.min.js将该文件解压出来,放到项目当中。在需要......
  • 购买一台云服务器,安装nvm,能够将配置全局命令链接js文件执行
    全局安装@vue/cli为什么会添加命令vuelinux或者MAC系统中通过whichvue查看vue地址,通过进入该地址查看文件发现软链接指向真实文件,真实文件同级别下的package.json中的bin字段中的名决定了输入命令vue2.全区安装@vue/cli时将包放在了node安装位置的node_modules下并且在包中的p......
  • 破解反爬虫策略 /_guard/auto.js(一) 原理
    背景当用代码或者postman访问一个网站的时候,访问他的任何地址都会返回<scriptsrc="/_guard/auto.js"></script>,但是从浏览器中访问显示的页面是正常的,这种就是网站做了反爬虫策略。本文就是带大家来破解这种策略,也就是反反爬虫。思路寻找关键参数既然在浏览器中访问没问题......
  • 多种模块格式,包括 ES, CommonJS, UMD, AMD, SystemJS 和 IIFE的区别点分别是什么
    【转】https://zhuanlan.zhihu.com/p/668530823以下是各种模块格式的主要特点:ESModules(ESM):这是ECMAScript6(ES6)引入的官方标准格式。它支持导入和导出语句,以及静态分析和tree-shaking。它是唯一的静态模块系统,意味着你可以在编译时确定导入和导出的内容。CommonJS(C......
  • 什么软件修复视频画质比较好,视频画质修复工具
    有些视频中可能会出现噪点、残影、颜色失真等问题,导致观看时体验感不太好,修复视频画质可以去除这些问题,使视频更加干净、清晰和真实。高质量的视频画质能够提高观众的观看体验,让观众更加享受观看视频的过程。特别是在需要展示重要信息和细节的场合,修复视频画质显得尤为重要......
  • 手把手教你基于华为云鲲鹏弹性云服务器部署Node.js环境
    本文分享自华为云社区《华为云之使用鲲鹏弹性云服务器部署Node.js环境【玩转华为云】》,作者:江湖有缘。一、本次实践介绍1.1实践环境简介本次实践环境使用华为KooLabs云实验平台。本次实践基于基于华为云鲲鹏弹性云服务器。在HCE系统上安装、部署、测试Node.js项目。1.3本......
  • 修复旧时光:老照片修复与动态视频教程
    在时光的长河中,我们都珍藏着那些珍贵的老照片,它们承载着我们的回忆和情感。或许照片中的那个人让我们心心念念,却因岁月的侵蚀而略显模糊。今天,就来教大家如何运用StableDiffusion,让老照片重焕光彩,并制作成生动的动态视频。首先,我们需要用到StableDiffusion工具,打开web......
  • 华为OD机试D卷 --找座位--24年OD统一考试(Java & JS & Python & C & C++)
    文章目录题目描述输入描述输出描述用例题目解析java源码python源码javascript源码c源码c++源码题目描述在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。现在给出一排观众座位分布图,座位中存......
  • 华为OD机试D卷 --密码输入检测--24年OD统一考试(Java & JS & Python & C & C++)
    文章目录题目描述输入描述输出描述用例题目解析java源码python源码javascript源码c源码c++源码题目描述给定用户密码输入流input,输入流中字符‘<’表示退格,可以清除前一个输入的字符,请你编写程序,输出最终得到的密码字符,并判断密码是否满足如下的密......
  • STFT:解决音频-视频零样本学习 (ZSL) 中的挑战
        传统的监督学习方法需要大量的标记训练实例来进行训练,视听零样本学习的任务是利用音频和视频模态对对象或场景进行分类,即使在没有可用标记数据的情况下。为了解决传统监督方法的限制,提出了广义零样本学习(GeneralizedZero-ShotLearning,GZSL)的设置。GZSL方法允许......