默认uni-app打包出来的H5在Android上是没法播放.m3u8直播流的,控制台或报错
Uncaught (in promise) DOMException: The element has no supported sources.
可以用hls.js来解决,在App.vue的onLaunch方法中增加加下列代码即可:
// 下面的代码增加对Android H5播放m3u8支持
// #ifdef H5
if (uni.getSystemInfoSync().platform != 'ios') {
var script = document.createElement("script");
script.src = "https://cdn.jsdelivr.net/npm/hls.js@latest";
script.onload = function() {
let init = function(video) {
if (!video.getAttribute('hls-inited')) {
let hls = null;
let load = function() {
let src = video.src;
if (!src || src.indexOf('.m3u8') < 0)
return
if (!hls) {
hls = new Hls();
hls.attachMedia(video);
}
hls.loadSource(src);
}
video.addEventListener("error", function() {
load();
}, false);
video.addEventListener("DOMNodeRemovedFromDocument",function(){
if(hls){
hls.destroy()
}
}, false);
video.setAttribute('hls-inited', 'ok');
}
}
document.getElementsByTagName("video").forEach(init)
document.body.addEventListener("DOMNodeInserted", function(e) {
let ele = e.relatedNode;
if (ele.tagName === 'VIDEO') {
init(ele);
}
ele.getElementsByTagName("video").forEach(init)
})
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(script, s);
}
// #endif
公司项目需求,要实现任务卡片在不同任务列表之间进行拖拽实现任务类别的更改。...
本文首发于 刘星的个人网站 Git 是目前世界上最先进的分布式版本控制系统。它使...
Html5页面在手机端做自适配是很常见的技术需求,下面介绍下在html页面使用hotcss...
很多朋友使用Dreamweaver一段时间后,开始热衷于寻找各式各样的插件,追求各种各...
实例 带有 placeholder 文本的搜索字段: form action=demo_form.asp method=get...
作者:Ahmad shaded 译者:前端小智 来源:sitepoint 有梦想,有干货,微信搜索 ...
前言: 在ietester 里面用debugbar查看文档代码,每个ul li里面都有这个 text: e...
技术迷 html 网页,你指定知道 vue 尤尤开发的前端框架 element 外卖团队的前端u...
利用canvas的getImageData,我们可以获取到一张图片每一个像素的信息,而通过对...
对于不是编程的我们,用Dreamweaver制作表格的情况下。默认表格边框会标的比较粗...