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延迟加载。

相关推荐
嚣张丶小麦兜17 小时前
Vue常用工具库
前端·javascript·vue.js
昨日之日200617 小时前
SCAIL - 自然流畅的AI角色动画生成软件 照片跳舞 虚拟偶像 WebUI+ComfyUI工作流 一键整合包下载
人工智能·音视频
小飞侠在吗18 小时前
Vue customRef
前端·javascript·vue.js
雪碧聊技术18 小时前
登录页【电影画风视频背景】实现
vue.js·视频背景·video标签
指尖跳动的光18 小时前
判断页签是否为活跃状态
前端·javascript·vue.js
广州灵眸科技有限公司19 小时前
瑞芯微(EASY EAI)RV1126B 音频输入
linux·开发语言·网络·音视频
嚣张丶小麦兜19 小时前
认识vite
前端·javascript·vue.js
oak隔壁找我20 小时前
Node.js的package.json
前端·javascript
Awu122721 小时前
Vue3自定义渲染器:原理剖析与实践指南
前端·vue.js·three.js
Guheyunyi21 小时前
视频安全监测系统的三大核心突破
大数据·运维·服务器·人工智能·安全·音视频