H5端Video无法自动播放

背景说明

开发活动落地页需要自动视频,发现在PC端chrome【版本:116】上,autoplay属性就能正常播放。
但是在H5端微信safari浏览器上的表现,都是不能自动播放。
翻了一些资料,以下为整理的解决文案。

微信环境不能自动播放

  // 解决 ios 微信 video 自动播放
  document.addEventListener(
    'WeixinJSBridgeReady',
    function () {
      const video = document.querySelector('video');
      video && video.play();
    },
    false,
  );

手机浏览器不能自动播放【以下方式按需使用】

Tip: Js和标签上的属性都很重要。【mutedplaysInline

解决方式一:
// js
const video = document.querySelector('video');
video.playsInline = true;
// html
<video
  autoPlay
  muted
  preload="auto" // 视频优先加载
  x5-video-player-type="h5" //同层H5播放器,就是在视频全屏的时候,div可以呈现在视频层上
  x5-video-player-fullscreen="false" // 全屏播放
  src={videoUrl}
/>
解决方式二:
// js
const video = document.querySelector('video');
let videoPromise;
if (video) {
  videoPromise = video?.play();
  if (videoPromise !== undefined) {
    videoPromise
      .then((_) => {
        // 当前环境能自动播放
        console.log('cool, auto play!');
      })
      .catch((error) => {
        // 不能自动播放,可以自己增加一个按钮,
        // 让用户点击时,触发开始播放video.play()。
        console.log('can‘t auto play!');
      });
  }
}

// html
<video
  autoPlay
  playsInline
  muted
  preload="auto" // 视频优先加载
  x5-video-player-type="h5" //同层H5播放器,就是在视频全屏的时候,div可以呈现在视频层上
  x5-video-player-fullscreen="false" // 全屏播放
  src={videoUrl}
/>
解决方式三:(向下兼容)

虽然根据video标签属性和js操作后,仍然在有些浏览器环境(如抖音浏览器环境IOS机型),必须有用户交互行为,才可触发播放。

  • 先通过以上任意一种方式满足大部分浏览器的自动播放行为;
  • video标签将video第一帧作为背景图(背景图通过复合写法,中间展示一个播放按钮)【当运行在部分不支持的浏览器环境时,示意用户点击video来播放】
// html
<video
	// 参照方式一/方式二的属性,此处为video增加点击播放功能
    ...props
    onClick={() => {
      videoRef.current?.play();
    }}
/>

// --------------分隔线----------------

// css
video {
	background-image: url('https://xxx/aaa/bbb/start-btn.png'), url('https://xxx/aaa/bbb/video-bg.jpg');
    background-repeat: no-repeat, no-repeat;
    background-size: 100px 100px, 100% 100%;
    background-position: center, center;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安卓手机无法播放H5视频有可能是因为以下几个原因: 1. 网络连接问题:如果您的安卓手机网络连接不稳定或者速度较慢,可能会导致H5视频无法缓冲或加载。您可以尝试切换到更稳定的网络环境或者重新连接网络进行尝试。 2. 浏览器兼容性问题:不同的安卓手机可能使用不同的浏览器,默认的浏览器对H5视频的支持程度也有所不同。您可以尝试更换不同的浏览器,或者更新您当前使用的浏览器版本。 3. 缺少相关插件:有些H5视频可能需要特定的插件才能播放,如果您的安卓手机缺少这些插件,可能导致视频无法正常播放。您可以尝试安装或更新相关插件,比如Flash插件或者H5视频播放器。 4. 视频格式不支持:某些安卓手机可能对特定的视频格式支持不好,如果您尝试播放的H5视频使用了不被支持的视频格式,可能导致无法播放。您可以尝试找到其他相同内容但是使用支持的视频格式的视频进行播放。 5. 设备硬件问题:如果您的安卓手机硬件配置较低,比如运行内存不足或者处理器性能较差,可能无法正常播放大尺寸或高清晰度的H5视频。这种情况下,您可以尝试调整视频质量或者尝试使用其他设备进行播放。 总结起来,安卓手机无法播放H5视频可能是由于网络连接问题、浏览器兼容性问题、缺少相关插件、视频格式不支持或设备硬件问题所致。您可以依次排查这些可能原因,尝试解决问题。如果问题仍然存在,建议咨询相关技术支持或者尝试其他解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值