能是出于节省用户流量,许多移动端浏览器都不支持H5自动播放视频,必须在用户主动交互(点击或者滑动等)后才可以通过js播放视频
PC端可以通过设置muted,自动播放静音视频
安卓浏览器均不支持自动播放,实测在微信内置浏览器,滑动视为交互行为,可以在这之后播放视频,抖音内置浏览器则需要点击交互,鸿蒙系统浏览器可以自动播放静音视频
进入网站时弹窗,例如欢迎语等,用户点击关闭后执行视频播放
简单粗暴的方法,在某些场景时适用的,实测在安卓、鸿蒙、IOS、抖音浏览器等均可以用这个方法解决
close() {
const videos = document.querySelectorAll('video');
for (let i = 0; i < videos.length; i++) {
const element = videos[i];
element.play();
}
}
【更多音视频学习资料,点击下方链接免费领取↓↓,先码住不迷路~】
点击领取→音视频开发基础知识和资料包
将视频转成ts格式,通过jsmpeg解码器进行加载播放,可以实现自动播放,实测基本上可以解决所有移动端无法播放视频的问题
转ts
安装ffmpeg,输入命令将mp4转成ts
ffmpeg.exe -i in.mp4 -f mpegts -codec:v mpeg1video -s 680x1080 -b:v 2074k -r 29.97 out.ts
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
// 引入jsmpeg
<script src="./jsmpeg.min.js"></script>
<style>
#canvas {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<canvas id="canvas" height="750" width="750"></canvas>
<script>
var canvas = document.querySelector("#canvas");
// 加载ts文件
var player = new JSMpeg.Player("./out.ts", {
canvas: canvas,
loop: true, // 循环播放
autoplay: true, // 自动播放
audio: false, // 禁用音频
});
player.play();
</script>
</body>
</html>
<video webkit-playsinline="webkit-playsinline" playsinline></video>
如果你对音视频开发感兴趣,觉得文章对您有帮助,别忘了点赞、收藏哦!或者对本文的一些阐述有自己的看法,有任何问题,欢迎在下方评论区讨论!
频是网页承载内容很重要的一个元素,也是必不可少的网页表现形式(图、文、表、视、音)之一。曾经网页要想播放视频、制作游戏,必须得用第三方插件flash。不仅编写代码要使用额外的语言,浏览器也必须得装第三方插件,非常不方便。随着html5标准逐渐普及,移动端、pc端开始抛弃flash,如今几乎所有的浏览器都使用html5来制作视频。
目标
flash是Adobe公司其中之一的产品。它发起于W3C与WHATWG的第五代web标准之争,它捡了个大便宜,乘机定义网页媒体标准。
W3C与WHATWG的第五代web标准之争
flash填补了当时网页只有文字和图片的单调世界,将媒体(视频、音频、游戏)引入了网页,将网页带进多彩的世界。
Flash能够用仅仅十几K到几百K的体积,呈现出放大也不会失真的矢量彩色动图,甚至还能够做出足以令人沉迷一整天的Flash小游戏。
火柴人
Flash用第三方插件的身份,几乎制霸了网页媒体的标准,让W3C尴尬不已,甚至从某种程度上说,让真正的网页标准推广受阻。
2010年4月,苹果CEO公开表示从此苹果所有产品不再支持flash。flash从此慢慢丧失移动端的市场和地位。
乔布斯支持html5
2012年,安卓宣布不再支持Flash,从此flash彻底失去了移动端市场和地位。
2012年html5标准确立,html5在逐渐制霸移动端的地位时,也直接冲击了flash仅剩的桌面市场,flash桌面市场的份额在逐步下降。
各大浏览器逐步默认禁用Flash,现2019年几乎都全部禁用。
默认禁用Flash
Adobe将在2020年停止开发和更新flash。
2020年停止开发和更新flash
Flash以第三方插件的身份,做着平台该做的事情,但没有推动行业标准统一化,反而企图私立标准。
随着功能的增多,能解码编码H.264,能进行3D渲染,能播放7.1声道环绕声等,功能集于一身变得臃肿,效率变得低下。
Flash非常不安全。Flash能够运行相当复杂的代码,这让Flash非常容易被渗透。加上Adobe在安全方面的不上心,这令Flash安全问题频发。
Flash很不稳定。作为一个插件,它自身频频崩溃也就罢了,还经常拉着浏览器乃至操作系统一起殉情。
Flash加剧了手机的耗电量。
作用是在 HTML 页面中嵌入视频元素。Video定义视频,比如电影片段或其他视频流。
视频播放
有四个是必须的属性:src、controls、width、height属性。
视频播放代码
<video> 元素支持三种视频格式: MP4, WebM, 和 Ogg。
<source> 元素可以链接不同格式的视频文件。浏览器将使用第一个可识别的格式。
支持多格式的视频
video标签体系
昨天发布Edge Dev重大版本更新之后,在今天发布的Edge Canary通道版本中还带来了全新的主题设置,以及阻止多媒体自动播放的实验Flag。目前基于Chromium的Edge浏览器支持来自Microsoft Store和Google Chrome Web Store的扩展程序,在今天的版本更新中可以按照商城不同来分类。
在最新的Edge Canary通道版本,在阅读视图下用户可以将网页保存至MHTML文件,此外还可以在PDF文件中查看DRM内容。在新增的主题设置中允许用户不跟随系统设置,手动选择Light或者Dark主题。用户可以在Menu > Settings > Appearance and Theme选项下进行调整。
最新Edge Canary通道版本还带来了实现性的Flag--Limit media autoplay,能够阻止部分网站的视频自动播放。
*请认真填写需求信息,我们会在24小时内与您取得联系。