HTML5 通过Vedio标签实现视频循环播放的示例代码


Posted in HTML / CSS onAugust 05, 2020

要实现网页播放视频在HTML5以前是通过<embed>标签

<embed> 标签的作用是在 HTML页面中嵌入多媒体元素

<embed src="1.swf"width="400">

<object> 标签的作用是在 HTML页面中嵌入多媒体元素

<object data="1.swf"width="400"></object>

存在的问题:

需要flash,效率低

如果浏览器不支持 Flash,那么视频将无法播放

iPad 和 iPhone 不能显示 Flash 视频

将视频转换为其他格式,仍然不能在所有浏览器中播放

在HTML5后,播放网页视频就简单多了,一个<vedio></vedio>解决所有问题,废话不多说,直接进入正题:

本人编写HTML5代码是使用HBuilder,个人觉得软件还不错,(主要的原因是该软件的快捷键和界面布局和Eclipse很相似,对于习惯了Eclipse操作的我来说真是犹如再见故友的感觉啊,有木有)

先新建Web项目,将资源文件放入项目,目录结构如下:

HTML5 通过Vedio标签实现视频循环播放的示例代码

接着直接在index.html中编写代码就行了:

<video id="myVedio" autoplay="autoplay" controls="controls" width="800px">
	<source src="video/1.webm"></source>
</video>

vedio标签,中设置autoplay,是为了视频在页面加载完毕后就自动播放,controls添加控制条工具

<source>标签通过src设置视频位置,此时的效果是这样的:

HTML5 通过Vedio标签实现视频循环播放的示例代码

这就是<vedio>标签的神奇之处了,只需一个标签搞定所有事

之后就是设置播放列表,使点击列表播放后播放对应的视频:

添加<ul>,<li>实现列表的显示:

<ul>
	<li>视频一</li>
	<li>视频二</li>
	<li>视频三</li>
</ul>

为了显示效果更好可以添加css样式,为正在播放的视频添加背景色:

li {
	list-style: none;
        background-color: black;
	color: white;
	text-align: center;
	margin: 5px auto;
	width: 800px;
	font-family: "楷体";
	font-size: 30px;
}

之后显示效果:

HTML5 通过Vedio标签实现视频循环播放的示例代码

接下来就是编写<script>脚本控制点击列表播放该视频了

var myVideo = document.getElementById("myVedio"); //通过js获取到vedio标签实例
var vedioLi = document.getElementsByTagName("li"); //获取视频列表
 
var vedioArry = new Array("1.webm", "2.webm", "3.webm"); //设置播放视频列表数组
var arryNumber = 0; //设置默认播放位置,方便后面循环播放

通过for循环为视频列表添加onClick()方法,实现点中哪个就播放对应视频:

for(var j = 0; j < vedioLi.length; j++) {//循环条件为列表的长度
	vedioLi[j].onclick = function() {
	        for(var m = 0; m < vedioLi.length; m++) {
	                vedioLi[m].style.backgroundColor = "black";//为每个类表设置背景为黑色
	        }
                for(var i = 0; i < vedioLi.length; i++) {
		        if(vedioLi[i] == this) { //判断点中的是否为该项
		                vedioLi[i].style.backgroundColor = "darkgray"; //将点击后的背景设置为灰白
		                arryNumber = i; //将当前播放设置为选中的下标
		                myVideo.src = "video/" + vedioArry[i]; //设置播放视频
		                myVideo.play(); //开始播放
	                }
	        }
        }
}

接下来实现循环播放:

myVideo.addEventListener("ended", function() {//为vedio添加ended监听,当视频播放完毕后执行对应函数
	if(arryNumber == (vedioArry.length - 1)) { //判断是否到了最后一个视频
	        vedioLi[vedioLi.length - 1].style.backgroundColor = "black"; //将前一个列表颜色设为black
		vedioLi[0].style.backgroundColor = "darkgray"; //将当前视频设置为灰白
		myVideo.src = "video/"+vedioArry[0]; //播放第一个视频
		myVideo.play();
		arryNumber = 0;//将下标重设为 0
	} else {
		arryNumber += 1; //每播放一次则将下标加一
		myVideo.src = "video/" + vedioArry[arryNumber];
		vedioLi[arryNumber].style.backgroundColor = "darkgray";
		vedioLi[arryNumber - 1].style.backgroundColor = "black";
		myVideo.play();
	}
 
});

效果如下:

HTML5 通过Vedio标签实现视频循环播放的示例代码

HTML5 通过Vedio标签实现视频循环播放的示例代码

到此这篇关于HTML5 通过Vedio标签实现视频循环播放的示例代码的文章就介绍到这了,更多相关HTML5视频循环播放内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
Jan 07 HTML / CSS
一款纯css3实现的鼠标经过按钮特效教程
Nov 09 HTML / CSS
纯CSS3打造属于自己的“小黄人”
Mar 14 HTML / CSS
基于CSS3 animation动画属性实现轮播图效果
Sep 12 HTML / CSS
html5教程画矩形代码分享
Dec 04 HTML / CSS
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
Aug 31 HTML / CSS
关于老式浏览器兼容HTML5和CSS3的问题
Jun 01 HTML / CSS
关于HTML5语义标签的实践(blog页面)
Jul 12 HTML / CSS
使用phonegap获取位置信息的实现方法
Mar 31 HTML / CSS
关于canvas绘制模糊问题的解决方法
Sep 24 HTML / CSS
amazeui页面分析之登录页面的示例代码
Aug 25 HTML / CSS
clear 万能清除浮动(clearfix:after)
May 21 HTML / CSS
Html5饼图绘制实现统计图的方法
Aug 05 #HTML / CSS
Canvas 帧动画吃苹果小游戏
Aug 05 #HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
Jul 28 #HTML / CSS
canvas实现图片镜像翻转的2种方式
Jul 22 #HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
Jul 20 #HTML / CSS
HTML5跳转小程序wx-open-launch-weapp的示例代码
Jul 16 #HTML / CSS
uniapp+Html5端实现PC端适配
Jul 15 #HTML / CSS
You might like
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
师范生个人推荐信
2013/11/29 职场文书
创业女性典型材料
2014/05/02 职场文书
伊琍体标语
2014/06/25 职场文书
财务个人年度总结范文
2015/02/26 职场文书
班级管理经验交流材料
2015/11/02 职场文书
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
Django中session进行权限管理的使用
2021/07/09 Python
java代码实现空间切割
2022/01/18 Java/Android