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

boyanx3个月前技术教程19

效果图:


我这个是引入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();
    }
  }

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

相关文章

5 分钟带你写个自己的 Chrome 扩展和油猴脚本

Chrome扩展编写一个 Chrome 扩展其实就是一个配置文件 manifest.json 和一系列 html、css、js文件的集合,只要有一点点前端的基础,写一个简单的 扩展还是很简单的。这里就...

webrtc进行屏幕录制

屏幕录制和摄像头录制差不多,只是把API从getUserMedia换成getUserMedia。但是由于这个功能目前是谷歌一个实验性的功能,需要进行一些设置。首先打开Chrome浏览器,在地址栏输入c...

Electron 应用打包

为舒缓 Windows 下路径名过长的问题 issues,稍微加快 require 的速度以及简单隐匿源代码,我们可以选择把应用打包成 asar 档案文件,这只需要对源代码做一些很小的改动。大部分用户...

Spring Boot+CAS 默认登录页面太丑了,怎么办?

最近的又一头扎进 Spring Security+CAS 上面了,CAS 单点登录已经连续写了四篇了,小伙伴们一定按顺序阅读哦,这样后面的文章才好理解。上篇文章和大家分享了 CAS Server 接入...

使用JS把图片压缩并转成Base64的简便方法

整个过程用到了画布(canvas)来帮忙完成过程: 选择图片文件 > 准备画布 > 按需压缩图片并绘制在画布上 > 生成Base64 > 完成.先上效果图详细过程如下:准备一个...

h5框架之layui和uikit你会选哪个?

随着前端的流行,前端也跟后端一样出现了很多的框架,比较流行的可能就是layui和uikit了。那今天对这两款的框架进行全面的对比:layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。