阿里云直播Web

ops/2025/1/12 17:18:40/

官方文档:Web播放器SDK常见问题_视频点播(VOD)-阿里云帮助中心

bug:播流的不稳定,直播总会进入 onM3u8Retry 监听,用户端就会黑屏,(但其实并没有关播,正常关播进入的是pause这个监听)目前没有解决。想到的方案是一旦进入这个监听,就强制重刷页面,再次获取直播详情,但还没有具体实施。

<!-- index.html需要引入的直播文件 -->
<link rel="stylesheet" href="https://g.alicdn.com/apsara-media-box/imp-web-player/2.26.0/skins/default/aliplayer-min.css" />
<script type="text/javascript" charset="utf-8" src="https://g.alicdn.com/apsara-media-box/imp-web-player/2.26.0/aliplayer-min.js"></script>
<!-- 微信浏览器自动播放 -->
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<divclass="firstContent":style="{ height: innerHeight }"><div class="prism-player" id="player-con" style="height: 100%"></div>
</div>
javascript">let player = ref("");
// 判断安卓端 ios端
let isAndroid = ref(false);
let isIOS = ref(false);
// 这个方法在获取直播详情的接口中 如果正在直播 并且有播流的情况下调用并赋值
function checkPlatform(iosLiveUrl, AndroidLiveUrl) {const userAgent = navigator.userAgent || navigator.vendor || window.opera;if (userAgent.match(/iPad/i) ||userAgent.match(/iPhone/i) ||userAgent.match(/iPod/i)) {isIOS.value = true;var ua = window.navigator.userAgent.toLowerCase();if (ua.match(/micromessenger/i) == "micromessenger") {// 微信浏览器环境(实现在微信浏览器自动播放)wx.config({// 配置信息, 即使不正确也能使用 wx.readydebug: false, //false代表关闭调试模式,true代表开启调试模式appId: "", //appIdtimestamp: 1, //生成签名的时间戳nonceStr: "", //生成签名的随机串signature: "", //签名jsApiList: [], //需要使用的JS接口列表});wx.ready(function () {// 在此处初始化播放器liveStart(iosLiveUrl);});} else {liveStart(iosLiveUrl);}} else if (userAgent.match(/Android/i)) {isAndroid.value = true;liveStart(AndroidLiveUrl);} else {// PC端liveStart(iosLiveUrl);}
}
// 播流URL
function liveStart(liveFlvUrl) {player.value = new Aliplayer({id: "player-con",source: liveFlvUrl,width: "100%",height: "56vw",// autoplay: true, // 延迟播放isLive: true,rePlay: false,playsinline: true,preload: true,enableStashBufferForFlv: true,stashInitialSizeForFlv: 32,controlBarVisibility: "hover",useH5Prism: true,x5LandscapeAsFullScreen: false,enableWorker: false,mute: false,skinLayout: [{ name: "bigPlayButton", align: "cc" }, // 大播放按钮位置调整{ name: "infoDisplay", align: "brabs", x: -100, y: -100 }, // "设置为静音"位置调整],skinLayoutIgnore: ["infoDisplay", // 隐藏“设置为静音”信息提示内容],},function (player) {//初始化后,手动对视频进行静音处理(这样设置之后,按音量键也依旧是静音)// player.mute();// 这种对直播没效果// player.setVolume(0.5);// 监听播放player.on("play", function () {console.log("视频开始播放");});// 监听暂停player.on("pause", function () {console.log("视频暂停");// 这个方法是获取直播详情 如果直播结束 详情接口会返回liveStatus == 2 后面就是具体公司业务处理了getLiveDetail();});player.on("onM3u8Retry", function () {// 总是会莫名其妙到这步 直播没有结束 但是用户看到的是黑屏 刷新页面和重新进入直播间可以解决// 这里我想到的方案是页面强制刷新 没有尝试过 可以试下console.log("主播暂时离开,请稍后......");// 这个方法是获取直播详情getLiveDetail();});// 监听结束player.on("ended", function () {console.log("视频播放结束");});// 监听加载中player.on("waiting", function () {console.log("视频加载中");});// 监听播放错误player.on("error", function (e) {console.log("视频播放出错");});});
}


http://www.ppmy.cn/ops/149508.html

相关文章

搭建prometheus+grafana监控系统抓取Linux主机系统资源数据

Prometheus 和 Grafana 是两个非常流行的开源工具&#xff0c;通常结合使用来实现监控、可视化和告警功能。它们在现代 DevOps 和云原生环境中被广泛使用。 1. Prometheus 定义&#xff1a;Prometheus 是一个开源的系统监控和告警工具包&#xff0c;最初由 SoundCloud 开发&am…

C++实现设计模式---抽象工厂模式 (Abstract Factory)

抽象工厂模式 (Abstract Factory) 抽象工厂模式 是一种创建型设计模式&#xff0c;提供一个接口&#xff0c;用于创建一组相关或互相依赖的对象&#xff0c;而无需指定它们的具体类。 意图 提供一个创建一组相关对象的接口&#xff0c;而无需指定它们的具体类。解决产品对象之…

(概率论)无偏估计

参考文章&#xff1a;(15 封私信 / 51 条消息) 什么是无偏估计&#xff1f; - 知乎 (zhihu.com) 首先&#xff0c;第一个回答中&#xff0c;马同学图解数学讲解得很形象&#xff0c; 我的概括是&#xff1a;“注意&#xff0c;有一个总体的均值u。然后&#xff0c;如果抽样n个&…

理解Apache Spark中的宽窄依赖

在Apache Spark中&#xff0c;宽窄依赖是理解其运行原理和RDD&#xff08;弹性分布式数据集&#xff09;数据结构的关键概念&#xff0c;以下是具体分析&#xff1a; 从Spark运行原理角度 宽依赖&#xff1a;宽依赖意味着一个父RDD的分区会被多个子RDD分区使用&#xff0c;通…

计算机网络-数据链路层(交换机相关知识)

2.5交换机 2.5.1集线器和交换机的区别 使用集线器和双绞线的星型网络 使用集线器的以太网在逻辑上仍然是一个总线网&#xff0c;在各站共享总线资源&#xff0c;使用的还是CSMA/CD协议&#xff1b; 集线器只工作在物理层&#xff0c;他的每个接口仅简单的转发bit&#xff0c;…

【Spring Boot 应用开发】-04 自动配置-数据源

深入讲解 Spring Boot 自动配置中的数据源配置 为了更好地理解 Spring Boot 中的自动配置机制&#xff0c;我们以数据源配置机制为例&#xff0c;按照以下顺序进行讲解&#xff1a; 不使用任何框架来连接数据源的方式使用 Spring MVC 连接数据源的方式使用 Spring Boot 自动配…

OpenCoze 安全性及国产化替代剖析

OpenCoze 作为一款具有潜力的开源企业 ERP MES 系统&#xff0c;其在安全性设计以及国产化替代策略上有着独特的考量&#xff0c;以满足企业在复杂多变的数字化环境中的需求。 一、安全性设计 &#xff08;一&#xff09;用户认证与授权 动态令牌认证&#xff1a;OpenCoze …

详解用大模型超拟人语音做桌面AI宠物/机器人的个性化能力

前言 本文基于前面已经落地的CSK6大模型语音视觉开发板的配套示例功能来进行讲解&#xff0c;超拟人交互效果可以参考视频&#xff1a; 超拟人语音极速回复演示视频 目前聆思平台的超拟人模板实现了快速响应、声纹识别、知识库问答、兜底闲聊、超拟人TTS等功能&#xff0c;具体…