HTML5 video循环播放多个视频

﹏ヽ暗。殇╰゛Y 2024-04-18 21:29 221阅读 0赞

最近在开发中遇到的需求是:微信扫描课件二维码,播放其对应的课件视频

设计流程

  1. 扫描二维码时,将其视频列表存入model中,存入第一条是为了,不在html界面重新获取第一条视频

    model.addAttribute(“playUrl”, videos.get(0).getVideoUrl());

    1. model.addAttribute("videoUrls", JsonUtils.toJson(videos));
  2. 返回其对应的html界面

    return “client/coursePlayer.html”;

  3. 使用video 播放视频第一条视频

4.用ended 监控视频播放进度

  1. <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界面如下:

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>${title}</title>
  8. <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>
  9. </head>
  10. <body>
  11. <div class="video">
  12. <div class="video-content">
  13. <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>
  14. 抱歉,您的浏览器不支持内嵌视频!
  15. </video>
  16. </div>
  17. </div>
  18. <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>
  19. </body>
  20. </html>

发表评论

表情:
评论列表 (有 0 条评论,221人围观)

还没有评论,来说两句吧...

相关阅读

    相关 HTML5 Video播放本地文件

      本人在做项目的时候,有个功能需求需要播放云上的视频和本地磁盘里的视频,播放云上的视频有url直接就能播放,但是播放本地的视频涉及到浏览器跨域的问题,在网上找了很多,但都不