@[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项目中,若不安装它可能报错
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文件
Test.vue文件
视频播放效果如图:
打印结果如图:
Test.vue文件
切换到CCTV3
视频切换效果如图:
需用muted属性解决
报错信息:DOMException: play() failedbecause the user didn't interact with the document first.(用户还没有交互,不能调用play)
解决办法:设置muted属性为true
关于muted属性:
需得动态设置src才能实现
// 动态设置src this.player.src([ { src: nowPlayVideoUrl, type: "application/x-mpegURL" // 告诉videojs,这是一个hls流 } ]);
报错信息:* 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流的操作与播放hls流的操作几乎相同,不同在于:
import "videojs-flash"; // 播放rtmp流需要的插件 type: 'rtmp/flv', // 这个type值必写, 告诉videojs这是一个rtmp流视频
以上就是如何在vue中使用video.js 播放m3u8格式的视频的详细内容,更多关于vue 使用videojs 播放m3u8格式的视频的资料请关注其它相关文章!