怎么在vue中使用video.js播放m3u8格式的视频-创新互联
小编给大家分享一下怎么在vue中使用video.js播放m3u8格式的视频,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
成都创新互联基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业温江服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。@[toc] 注意:
"vue": "^2.6.11", "video.js": "^7.10.2", "videojs-contrib-hls": "^5.15.0", "mux.js": "^5.7.0"
一、安装
yarn add video.js yarn add videojs-contrib-hls // 这是播放hls流需要的插件 yarn add mux.js // 在vue项目中,若不安装它可能报错
二、引入videojs
1.在src文件夹下新建 plugins文件夹,并新建video.js文件;
video.js文件的内容如下:
import "video.js/dist/video-js.css"; // 引入video.js的css import hls from "videojs-contrib-hls"; // 播放hls流需要的插件 import Vue from "vue"; Vue.use(hls);
2.在main.js中引入刚刚的video.js文件
import "./plugins/video.js"; // 引入刚刚定义的video.js文件
三、在组件中测试并使用
1. 实现基本的自动播放
Test.vue文件
视频播放效果如图:
打印结果如图:
2. 实现换台
Test.vue文件
切换到CCTV3
视频切换效果如图:
四、踩坑小记
1. 视频不能自动播放 或报错 DOMException: play() failed
需用muted属性解决
报错信息:DOMException: play() failedbecause the user didn't interact with the document first.(用户还没有交互,不能调用play)
解决办法:设置muted属性为true
关于muted属性:
muted 属性,设置或返回音频是否应该被静音(关闭声音);属性的值是true和false;
muted="false" 表示视频不用静音(视频播放便有声音),但设置 muted="fasle" 的情况下,视频无法实现自动播放。
video 标签中 muted 的作用: 允许视频自动播放;(Chrome66版本开始,禁止视频和音频的自动播放)
2. 换台的时候,url已经成功更改,但视频还是之前的
需得动态设置src才能实现
// 动态设置src this.player.src([ { src: nowPlayVideoUrl, type: "application/x-mpegURL" // 告诉videojs,这是一个hls流 } ]);
3. 找不到mux.js模块
报错信息:* mux.js/lib/tools/parse-sidx in ./node_modules/video.js/dist/video.es.js To install it, you can run: npm install --save mux.js/lib/tools/parse-sidx
解决办法:安装mux.js
yarn add mux.js
五、 播放rtmp流
播放rtmp流的操作与播放hls流的操作几乎相同,不同在于:
import "videojs-flash"; // 播放rtmp流需要的插件 type: 'rtmp/flv', // 这个type值必写, 告诉videojs这是一个rtmp流视频
看完了这篇文章,相信你对“怎么在vue中使用video.js播放m3u8格式的视频”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
分享文章:怎么在vue中使用video.js播放m3u8格式的视频-创新互联
URL地址:http://cdiso.cn/article/gecdh.html