h5 播放连续多个视频 解决闪烁的问题

<div id="video_box"></div>
      <video id="vplayer_start" width="80%" height="auto" controls="controls" src="02-21-46.mp4"></video>
      <video id="vplayer" width="80%" height="auto" controls="controls" src="02-21-58.mp4"></video>
    </div>
#video_box{position: fixed;left: 0;top: 0;width: 100%;height: 100%;overflow: hidden;}
#vplayer_start,#vplayer{
  display: block; margin: 0 auto; width: 80%;
  position: absolute;left: 0;top: 0;visibility: hidden;
}
var startPlay=true;
      var vplayer_start = document.getElementById('vplayer_start');
      var vplayer = document.getElementById('vplayer');
      var vList = ['02-21-46.mp4', '02-21-58.mp4', '02-22-10.mp4','02-22-22.mp4','02-22-34.mp4','02-22-46.mp4','02-22-58.mp4']; // 初始化播放列表   
      var vLen = vList.length;  
      var curr = 0;



      vplayer_start.pause();
      vplayer.play();
      //第一个播放器开始播放的监听
      vplayer_start.addEventListener("play",function(e){
        setSrc(vplayer,curr++);
      });
      // 第一个播放器播放结束
      vplayer_start.addEventListener("ended",function(e){
        e.target.pause();
        vplayer.style.visibility = "visible";
        play(vplayer);
        e.target.style.display = "none";
        vplayer.style.display = "block";
      });
      //第二个播放器开始播放的监听
      vplayer.addEventListener("play",function(e){
        setSrc(vplayer_start,curr);
      });
      //第二个播放器播放完成
      vplayer.addEventListener("ended",function(e){
        e.target.pause();
        vplayer_start.style.visibility = "visible";
        play(vplayer_start);
        e.target.style.display = "none";
        vplayer_start.style.display = "block";
      });
  
      vplayer.addEventListener('canplay', function(e){
        if(startPlay){
          e.target.pause();
          vplayer_start.style.visibility = "visible";
          vplayer_start.play();
          startPlay=false;
        }
      })
      function play(video) {       
          video.play();   
          // curr++;   
          if(curr >= vLen){   
              curr = 0; //重新循环播放 
          }   
      }  
      function setSrc(video,index){
        video.src = vList[index]
      };

思路是用两个播放器,第一个播放器播放时给第二个播放器动态设置src,第二个播放器播放时给第一个播放器设置src,如此循环....

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在HTML5中,可以通过使用`<video>`元素来播放多个视频。我们可以通过在HTML文档中创建多个`<video>`标签来实现这一点。 首先,我们为每个视频创建一个独立的`<video>`标签,然后使用不同的`src`属性指定每个视频的URL。例如: ```html <video src="video1.mp4"></video> <video src="video2.mp4"></video> <video src="video3.mp4"></video> ``` 上述代码创建了三个视频标签,并且每个视频使用不同的mp4文件作为来源。你可以根据实际需求更改URL和视频文件的格式。 如果需要为视频提供控件(例如播放按钮,音量控制等),我们可以在每个`<video>`标签中添加`controls`属性,这样就会自动显示默认的控制条。例如: ```html <video src="video1.mp4" controls></video> <video src="video2.mp4" controls></video> <video src="video3.mp4" controls></video> ``` 如果你想要同时播放多个视频,你可以使用JavaScript来操作`<video>`元素。你可以使用`querySelector`方法选择要操作的视频元素,并使用`play`方法开始播放。例如: ```html <video id="video1" src="video1.mp4"></video> <video id="video2" src="video2.mp4"></video> <video id="video3" src="video3.mp4"></video> <script> var video1 = document.getElementById("video1"); video1.play(); var video2 = document.getElementById("video2"); video2.play(); var video3 = document.getElementById("video3"); video3.play(); </script> ``` 上述代码使用了JavaScript来选择每个`<video>`元素,并使用`play`方法自动开始播放每个视频。 这是一种在HTML5中播放多个视频的简单方法。你可以根据需要进行定制和扩展,以满足你的具体需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值