【H5】html5 video 在微信浏览器视频不能自动播放 !

7 篇文章 0 订阅
6 篇文章 0 订阅

html5 video在安卓微信浏览器视频不能自动播放 !

html5 video在安卓微信浏览器视频不能自动播放 !

html5 video在安卓微信浏览器视频不能自动播放 !

注:重要的事情说三遍, 其他帖子说可以自动播放的我都有试过,一个生效的都没有。

 

一.微信浏览器(x5内核):

1.不能自动播放

2.全屏

3.最顶层(z层的最顶层)

 

二.ios系统video自动播放:(经手机测试没有问题可以实现)

         <div class="playvideo">
		<div class="zy_media">
			<video id="myVideo" muted autoplay poster="https://r1.ykimg.com/05420408584A363C6A0A47047DD24931"
				data-config='{"mediaTitle": "测试视频--视频"}'>
				<source src="http://www.w3cschool.cc/try/demo_source/mov_bbb.mp4" type="video/mp4">
				您的浏览器不支持HTML5视频
			</video>
		</div>
	</div>
	<script>
		function autoPlayVideo() {
			/* 自动播放视频效果,解决浏览器或者APP自动播放问题 */
			function videoInBrowserHandler() {
				videoPlay(true);
				document.body.removeEventListener('touchstart', videoInBrowserHandler);
			}
			document.body.addEventListener('touchstart', videoInBrowserHandler);
			/* 自动播放视频效果,解决微信自动播放问题 */
			function videoInWeixinHandler() {
				videoPlay(true);
				document.addEventListener("WeixinJSBridgeReady", function () {
					videoPlay(true);
				}, false);
				document.removeEventListener('DOMContentLoaded', videoInWeixinHandler);
			}
			document.addEventListener('DOMContentLoaded', videoInWeixinHandler);
		}
		function videoPlay(isPlay) {
			var media = document.getElementById('myVideo');
			if (isPlay && media.paused) {
				media.play();
			}
			if (!isPlay && !media.paused) {
				media.pause();
			}
		}

	</script>

三.android系统中解决方案:暂未发现可以实现的例子

误区:(无效的解决方案)

1.设置video属性autoplay;

2.通过js调用play();

3.通过js来触发click事件;

4.使用插件videojs;

5.通过js调用load()然后再调用play();

6.设置video属性webkit-playsinline="true";

7.touchstart监听;

8.stalled事件处理;

9.canplaythrogh事件处理;

10.readyState大于2的处理;

11.DOMContentLoaded监听;

12.微信js api中WeixinJSBridgeReady;

13.微信js api中getNetworkType;

14.白名单;

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
h5 canvas在微信浏览器写字会触发下拉是因为微信浏览器在手机端上具有一种称为"全面屏优化"的特性。当在微信浏览器中使用h5 canvas进行绘图,特别是在绘制过程中使用到了触摸事件时,用户手指在画布上滑动,微信浏览器会误将该操作视为页面下拉的手势操作。 这种误触下拉的原因在于微信浏览器为了适应手机全面屏的特性,引入了一种滑动操作的检测机制。当用户手指在页面上进行垂直滑动时,微信浏览器会判断该滑动操作是否可以触发页面下拉的动作,以提升用户体验。 然而,在h5 canvas上绘制时,绘图操作往往会涉及到用户手指在画布上的触摸事件,用户手指的滑动被误判为页面下拉的手势操作,导致页面被下拉,从而中断了绘图的过程。 为了解决这个问题,可以尝试以下方法: 1. 在canvas元素上添加touchstart、touchmove、touchend等触摸事件监听器,并阻止事件冒泡或默认行为,以防止微信浏览器误判操作。 2. 可以使用第三方库或框架,如createjs、egret等,来实现画布绘制,这些库或框架通常会对各种浏览器的兼容性问题进行处理,包括微信浏览器下的问题。 如果以上方法无法解决问题,那可能是由于微信浏览器的特性限制造成的,可以考虑使用其他浏览器或开发移动端应用程序来实现画布绘制,以避免微信浏览器中的下拉误触问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上帝把我扔在人间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值