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

news/2024/7/23 22:03:26 标签: vue.js, javascript, 音视频, hls, .m3u8

在这里插入图片描述
效果图:
在这里插入图片描述

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

javascript"><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

javascript">      <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。用来停止播放的。

javascript">   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();
    }
  }

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


http://www.niftyadmin.cn/n/734828.html

相关文章

2,vue播放视频之—问题。引入多个视频,视频大小不一样要求铺满全屏问题,停止视频

1&#xff0c;视频全屏铺满父级元素 一行属性&#xff1a;object-fit: fill; 没加之前&#xff1a; 加了之后&#xff1a; 2&#xff0c;停止视频 destroyed () {for(var j0;j<this.players.length;j){this.players[j].stop();}}看图&#xff1a; 如果第一个格式的文件没…

Http请求中Content-Type讲解以及在Spring MVC注解中produce和consumes配置详解

https://blog.csdn.net/shinebar/article/details/54408020 补充&#xff1a; Consumes Produces分别表示入参和出参数吗 可以这样讲。但是不是很到位。是限定作用&#xff0c;类似于filterconsumes&#xff1a; 指定处理请求的提交内容类型&#xff08;Content-Type&#xff0…

vue回车登录,登录完销毁回车事件。

1.在登录页面写 methods:{// 回车登录keyDown(e){if(e.keyCode 13){//13是回车键的keycodeif(this.ruleForm.usename ! && this.ruleForm.password ! ) {this.logoin()}else {this.submitForm(ruleForm)}}} } mounted(){window.addEventListener(keydown,this.keyDo…

Java序列化的状态

\关键要点\\Java序列化在很多库中引入了安全漏洞。\\t对序列化进行模块化处于开放讨论状态。\\t如果序列化能够成为模块&#xff0c;开发人员将能够将其从攻击表面上移除。\\t移除其他模块可以消除它们所带来的风险。\\t插桩提供了一种编织安全控制的方法&#xff0c;提供现代化…

禁止用户缩放页面(ctrl+滚轮或者Ctrl+“-”“+”)

1.移动端H5 <meta name"viewport" content"widthdevice-width,initial-scale1.0,maximum-scale1.0, user-scalableno">2.pc端&#xff0c;原生 <script>document.addEventListener(mousewheel, function (e) {e e || window.event;if ((e.wh…

Echarts折线图多个图表的警戒线设置,超出标红显示、警戒线标签的样式

效果图&#xff1a; 项目需求&#xff1a;在警戒线之内的线段显示正常颜色&#xff0c;低于警戒线或者高于警戒线的线段显示红色。 1&#xff0c;警戒线。 其实就是markLine属性。 series: [{markLine:{data:[{yAxis:100,label:{padding: [0, 0, 0, -75],position: "end…

IDEA中添加类的创建者信息

创建方法&#xff1a; 1. 使用快捷键&#xff08;ctrl alt s&#xff09;&#xff0c;在弹出框中左边侧选择 Editor -> File and Code Templates&#xff0c;左边侧相应会更新 右边侧选择 Class&#xff0c;然后点击上面tabs中的 Includes 再点击 File Header&#xff0c;…

symbolType.indexOf is not a function

这个报错是上篇文章里面的&#xff0c; 首页看看你的数组里面的数据格式 没猜错肯定是第一种&#xff0c;字符串格式吧。是需要转成Number格式才能正常显示的 字符串数组转数字数组&#xff1a; arr.map(Number) &#x1f4e2;没了&#xff0c;结束了&#xff0c;是不是很简单…