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

相关推荐
羚通科技28 分钟前
人员个体检测、PID行人检测、行人检测算法样本
大数据·人工智能·算法·计算机视觉·音视频
AiFlutter1 小时前
Flutter屏幕适配
前端·javascript·flutter
过期の秋刀鱼1 小时前
Nest.js实现一个简单的聊天室
javascript·后端·uni-app
鱼干~1 小时前
【echarts】报错series.render is required.
前端·javascript·echarts
JUNAI_Strive_ving1 小时前
易盾滑块验证码
javascript·python
博洋科技1 小时前
公司网站开发的详细流程和步骤
javascript·网站建设·保定响应式网站建设·保定h5网站建设·保定网站建设
布丁小站1 小时前
SDL录制音频并播放
音视频·sdl
是二牙1 小时前
Mac pnpm安装
前端·vue.js
计算机学姐2 小时前
基于Hadoop的NBA球员大数据分析及可视化系统
java·大数据·vue.js·hadoop·spring boot·数据挖掘·数据分析
peachSoda72 小时前
随手记:前端一些定位bug的方法
前端·javascript·bug