基于HTML5如何实现video循环播放视频,过程是怎样
Admin 2022-07-02 群英技术资讯 1204 次浏览
在这篇文章中,我们来学习一下“基于HTML5如何实现video循环播放视频,过程是怎样”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。最近在开发中遇到的需求是:微信扫描课件二维码,播放其对应的课件视频
设计流程
1.扫描二维码时,将其视频列表存入model中,存入第一条是为了,不在html界面重新获取第一条视频
model.addAttribute("playUrl", videos.get(0).getVideoUrl());
model.addAttribute("videoUrls", JsonUtils.toJson(videos));
2.返回其对应的html界面
return "client/coursePlayer.html";
3.使用video 播放视频第一条视频
<video id="videoID" controls="true"
style="object-fit:fill"
src="${playUrl}"
class="horizontal-img"
preload="metadata"
webkit-playsinline="true"
playsinline="true"
x-webkit-airplay="allow"
x5-video-player-type="h5"
x5-video-player-fullscreen="true"
x5-video-orientation="landscape"
autoplay>
抱歉,您的浏览器不支持内嵌视频!
</video>
4.用ended 监控视频播放进度
<script type="application/javascript">
videoDom.addEventListener('ended', function(event) {
if (index === length-1) {
videoDom.pause();
} else {
index += 1;
videoDom.src = videos[index].videoUrl;
videoDom.play();
}
})
</script>
html界面如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>${title}</title>
<style>
.video {
position: fixed;
top: 0;
bottom: 0;
right: 0;
left: 0;
z-index: 99;
transition: all 0.3s;
background-color: rgba(0, 0, 0, 0.5);
}
.video-content {
height: 100%;
width: 100%;
}
video {
position: initial;
}
video.horizontal-img {
width: 100%;
height: auto;
max-height: 100%;
}
</style>
</head>
<body>
<div class="video">
<div class="video-content">
<video id="videoID" controls="true"
style="object-fit:fill"
src="${playUrl}"
class="horizontal-img"
preload="metadata"
webkit-playsinline="true"
playsinline="true"
x-webkit-airplay="allow"
x5-video-player-type="h5"
x5-video-player-fullscreen="true"
x5-video-orientation="landscape"
autoplay>
抱歉,您的浏览器不支持内嵌视频!
</video>
</div>
</div>
<script type="application/javascript">
var dom = document;
var index = 0;
var videos = ${videoUrls};
var videoDom = dom.getElementById('videoID');
videoDom.play();
videoDom.addEventListener('ended', function(event) {
if (index === length-1) {
videoDom.pause();
} else {
index += 1;
videoDom.src = videos[index].videoUrl;
videoDom.play();
}
})
</script>
</body>
</html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了HTML5 canvas实现的静态循环滚动播放弹幕,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
css3设置动画匀速的属性单词是哪个animation-timing-function 规定动画的速度曲线。速度曲线定义动画从一套 CSS 样式变为另一套所用的时间。速度曲线用于使变化更为平滑。
本文章就单独讲一下关于css教程div横向居中写法的用法,并且在ie,ie7,firefox兼容问题。横向居中(centering)这是一个简单的技巧,但是值得再说一遍,因为我看见太多的新手问题都是问这个:css如何横向居中?您需要定义元素的宽,并且定义横向的margin,假如您的布局包含在一个层(容器)中,您可以这样定义使它横向居中:#wra ...
本文给大家分享用css怎样实现类似订单地址下的线条样式,一些订单在收获地址下方有四边形的线条样式的设计,那么这种线条样式是怎样做呢?本文就给大家分享一个实现方法,感兴趣的朋友可以参考。
block块级元素特点:1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)2、元素的高度、宽度、行高以及顶和底边距都可设置。3、元素宽度
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008