1,vue播放视频之—引入.m3u8后缀的hsl视频流

yumo6662个月前 (05-02)技术文章13

效果图:


我这个是引入js的方式播放的。也可以用npm直接下载hsl.sj进行引入
1.public里面index.html页面引入对应的js

<script src="./jquery.min.js"></script>
<script src="./ezuikit.js"></script>
<script src="./hls.min.js"></script>
<script src="./jsPlugin-1.2.0.min.js"></script>

这些js太多了,私信我挨个发给你们
2,页面代码,也没什么,就一个for

      <div v-for="i in tableData" :key="i.index" >
          <video
          :id=i.id
          autoplay
          :src=i.location
          controls
          playsInline
          muted
          webkit-playsinline>
        </video>
      </div>

autoplay: 自动播放。
controls: 显示基本的控件。暂停、播放、进度条、等等
playsInline,webkit-playsinline:全屏播放控件
muted:兼容自动播放,有限浏览器不能自动播放就加这个属性

3,调接口


返回的数据格式是这样的,只要id和location就可以了。定义两个数组,一个数组转id和location。另一个数组只装id。用来停止播放的

   methods: {
    searchs(currpage,pagesize){
      this.$axios.get(this.url+'listByAgencyCode',{params}).then( data=>{
        if(data.data.success){
          this.ids=[];// 置空ids中的内容
          let result = data.data.data;
          this.tableData = result.list;//页面上循环的对象数组 (格式:[{},{},{}])
          this.totals = result.total;
          this.tableData.map((v,i) =>{
            this.tableData[i].id = "myPlayer_"+v.id;
          })
          for(let i=0,l = this.tableData.length;i<l;i++){//重新定义一个数组只装id
            this.ids.push(this.tableData[i].id);
          }
        }
      });
      // 延时渲染视频
      this.renderVedio();
    },
    renderVedio(){
      setTimeout(()=>{// 初始化视频
        this.players = [];
        for(var j=0;j<this.ids.length;j++){
          let player = new EZUIKit.EZUIPlayer(this.ids[j]);
          this.players.push(player);
        }
      },2000);
    },
    }
    //销毁视频
   destroyed () {
    for(var j=0;j<this.players.length;j++){
      this.players[j].stop();
    }
  }

有什么写错的还请指正。
没了,结束了,是不是很简单呐,如有问题,欢迎留言。
如果此篇博文对您有帮助,还请动动小手点赞 收藏 留言 呐~,谢谢 ~ ~

相关文章

p5.js 视频播放指南(p5.js 教程)

本文简介在刚接触 p5.js 时我以为这只是一个艺术方向的 canvas 库,没想到它还支持视频文件和视频流的播放。本文简单讲讲如何使用 P5.js 播放视频。播放视频文件p5.js 除了可以使用 v...

b站视频是如何播放的(b站视频怎么播放)

上次我们聊 B 站视频为什么播放那么快是利用了视频分片技术,提前将视频分成很多小片,这样就可以实现播放的时候只加载播放位置的视频,只需要加载那一小段就可以了。这样就可以达到快速播放的目的了。那么我没你...

C# 开发超级视频播放器VLC代码开源

自主采用C# 开发视频播放器,效果如下;VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影...

实现浏览器播放rtsp视频流的解决方案

有同学问道:需要实时播放摄像头rtsp视频流,而浏览器不能直接播放,怎样解决?实现这个需求可以通过插件或者转码来实现。要实现这个目的,可以采用的方案非常得多,有商业的也有开源的,这里主要列举一些开源的...

科研笔记神器:一边视频,一边笔记,轻松搞定B站视频学习

上一期,笔者介绍了一款笔记神器——Obsidian,它可以用于思维导图和知识管理。高效阅读和写作,席卷科研圈的科研神器由于计算机、互联网技术的发展,线上学习、视频学习已经成为了一种流行的学习途径,边看...

Python Flask如何实播放视频流?深入浅出实现方案

本文致力于流式传输,这是一个有趣的功能,它使Flask应用程序能够长时间有效地将大型响应有效地分成小块。为了说明这一主题,我将向您展示如何构建实时视频流服务器!注意:本文有后续内容,Flask视频流再...