Vue中使用Hls.js进行视频直播的播放

HLS.js使用文档

1、安装组件:

javascript 复制代码
npm install hls.js --save

2、引入组件:

javascript 复制代码
import Hls from 'hls.js'

3、使用组件:

javascript 复制代码
// DOM:
<video id="video" controls loop="false"></video>
// DATA:
let hls = null // 定义的hls对象
let url = '' // 这个是直播视频流的地址
// 视频加载
let video = document.getElementById('video') // 定义挂载节点
if(Hls.isSupported()) { 
   hls = new Hls();
   hls.loadSource(url); // 设置播放路径
   hls.attachMedia(video); // 解析到video标签上
   hls.on(Hls.Events.MANIFEST_PARSED, function () {
       video.play(); // 播放视频
   });
} else if (video.canPlayType('application/vnd.apple.mpegurl')) { // 如果浏览器原生支持HLS
   video.src = url;
   video.addEventListener('loadedmetadata', function () {
       video.play();
   });
}
// 最后离开页面的时候,记得销毁
onUnmounted(() => {
 if (hls) {
   hls.destroy();
 }
});

4、 如果视频加载不出来导致的黑屏,问题定位:

① 检查 包裹video组件外层的div使用的是v-show控制显隐,而不是v-if

② 检查 video 组件是否设置了宽高。

③ 检查 挂载节点是否加载完成,可以采用使用setTimeout延迟加载。

相关推荐
AI创界者2 小时前
前沿多模态大模型 MiniMax-H3无审查 本地部署与深度实测指南
人工智能·aigc·音视频
Highcharts.js3 小时前
常见报错排雷指南2:导出失败的官方解法
javascript·react.js·ecmascript·highcharts·可视化图表·导出模块失败·导出服务
梦想平凡3 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理
杨芋爽5 小时前
管理后台列表页为什么一直转圈?从一次 1+N 请求扇出聊聊前端性能优化
javascript
_山海6 小时前
Bun入门指南
前端·javascript·后端
2301_32241428046 小时前
活力孕康复APP 47737- 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·mysql·微信小程序·idea·微信开发者工具
YHL6 小时前
🎯 JavaScript 单例模式(Singleton Pattern)—— 从理论到实战
javascript·设计模式
vx_Biye_Design7 小时前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
晴天167 小时前
VSCodium 项目介绍
前端·javascript·vscode