H5/微信 Video标签移动端播放问题

一、禁止/阻止/取消默认的全屏播放

亲测: IOS和安卓均有效

html 复制代码
<video 
     x5-playsinline="true"
     playsinline="true"
     webkit-playsinline="true"
     x-webkit-airplay="true"
     x5-video-orientation="portraint"
 >
    <source :src="videoUrl" type="video/mp4">
</video>

注意: x5-video-player-type="h5" 这个参数不能用,用了的话安卓就失效了。

二、视频自动播放

H5页面:

  1. 需要在 video 标签中添加 mutedautoplay 属性
html 复制代码
<video 
 	 autoplay
	 muted
     x5-playsinline="true"
     playsinline="true"
     webkit-playsinline="true"
     x-webkit-airplay="true"
     x5-video-orientation="portraint"
 >
    <source :src="videoUrl" type="video/mp4">
</video>

注意: 自动播放,会因为 muted 而静音。

微信:

微信里面的自动播放只能用于IOS,不能用于安卓(目前来说)

IOS微信自动播放方法: 通过使用 jssdkWeixinJSBridgeReady 播放

下面是VUE代码

HTML部分

html 复制代码
<video
  ref="videoRef"
  :src=""
  muted
  autoplay
  x5-playsinline="true"
  playsinline="true"
  webkit-playsinline="true"
  x-webkit-airplay="true"
  x5-video-orientation="portraint"
></video>

JS部分

javascript 复制代码
onMounted(() => {
	if (WeixinJSBridge) {
		doPlay();
	} else {
		document.addEventListener(
			"WeixinJSBridgeReady",
			function () {
				doPlay();
			},
			false
		);
	}
});

// 通过微信桥接开始播放
function doPlay() {
  WeixinJSBridge.invoke("getNetworkType", {}, function (e) {
    let videoHtml = videoRef.value;
    videoHtml.play();
  });
}

安卓微信自动播放方法:

  1. 通过触摸屏幕开始播放(来达到自动播放效果)
  2. 开启 video 标签的 controls,通过做个蒙版,点击诱导的方式
  3. 据说可以通过 Tcplayer 腾讯云点播(未测试)

下面是VUE代码

HTML部分

html 复制代码
<video
  ref="videoRef"
  :src=""
  muted
  autoplay
  x5-playsinline="true"
  playsinline="true"
  webkit-playsinline="true"
  x-webkit-airplay="true"
  x5-video-orientation="portraint"
  id="vdHtml"
></video>
html 复制代码
<video
  ref="videoRef"
  :src=""
  muted
  autoplay
  x5-playsinline="true"
  playsinline="true"
  webkit-playsinline="true"
  x-webkit-airplay="true"
  x5-video-orientation="portraint"
></video>

JS部分

javascript 复制代码
onMounted(() => {
	let ua = navigator.userAgent;
	  let isAndroid = ua.indexOf("Android") > -1 || ua.indexOf("Linux") > -1;
	  let isWeixin = ua.indexOf("MicroMessenger") > 0;
	  // 安卓触摸屏幕后播放
	  if (isAndroid && isWeixin) {
	    document.addEventListener(
	      "touchstart",
	      function () {
	        let video = document.getElementById("vdHtml");
	        if (video) video.play();
	      },
	      false
	    );
	  }
});
相关推荐
JohnYan2 天前
工作笔记 - 一次微信认证集成迁移
后端·安全·微信
摸着石头过河的石头3 天前
微信h5页面开发遇到的坑
前端·微信
悟空码字6 天前
老婆说要是能做个育儿补贴计算小程序就生二胎?用腾讯云代码助手CodeBuddy立马手戳了一个
微信
阿彬爱学习7 天前
AI 大模型企业级应用落地挑战与解决方案
人工智能·算法·微信·chatgpt·开源
王小发1019 天前
怎么打败微信内置浏览器的恐怖缓存
前端·微信
qq_256847888611 天前
oelove奥壹新版v11.7旗舰版婚恋系统微信原生小程序源码上架容易遇到的几个坑,避免遗漏参数白屏显示等问题
微信·奥壹原生小程序源码·奥壹婚恋交友系统小程序·oelove婚恋交友小程序源码·婚恋交友开源版·奥壹小程序上架设置
gongzemin18 天前
微信第三方平台的配置
微信·微信小程序·资讯
劫大大19 天前
前端开发公众号或服务号,本地怎么与后端测试服接口打通呢
前端·微信
追逐时光者21 天前
推荐 2 款简洁美观的微信公众号 Markdown 编辑器,让你不再为微信内容排版而发愁!
微信
陈思杰系统思考Jason24 天前
系统思考:经济反馈的循环
百度·微信·微信公众平台·新浪微博·微信开放平台