H5-Pc端实现视频自动播放背景、安卓端、苹果端

10 篇文章 0 订阅
4 篇文章 0 订阅

目录

一、效果图

二、在ios端可以直接使用img标签加载视频MP4(有效)、可自动播放视频

三、安卓端(由于安卓端浏览器机制、如微信端、个别内核不支持自动播放视频)、这时候我们需要模拟自动点击播放机制、达到一进页面自动播放视频的效果

四、以上是在react中实现效果、亲测有效、当然也可以使用ref去实现


一、效果图

 

二、在ios端可以直接使用img标签加载视频MP4(有效)、可自动播放视频

 <img src='视频url' alt="" />

三、安卓端(由于安卓端浏览器机制、如微信端、个别内核不支持自动播放视频)、这时候我们需要模拟自动点击播放机制、达到一进页面自动播放视频的效果

componentDidMount() {
  // 将refs设置到store中(假设this.store是一个具有setRefs方法的对象)
  this.store.setRefs(this.refs);

  // 在使用之前检查this.store是否存在
  if (!!this.store) {
    if (this.isExist) {
      this.store.afterMethodOnEvent();
    } else {
      this.store.mount();
    }
  }

  // 添加文档上的touchstart和click事件监听器
  document.addEventListener("touchstart", this.handleTouchStart);
  document.addEventListener("click", this.handleTouchStart);
}

componentWillUnmount() {
  // 在使用之前检查this.store是否存在
  if (!!this.store) {
    this.store.unMount();
  }

  // 从文档中移除touchstart和click事件监听器
  document.removeEventListener("touchstart", this.handleTouchStart);
  document.removeEventListener("click", this.handleTouchStart);
}

// 当鼠标移动时播放视频的函数
handleMouseMovePlayVideo = () => {
  const videoPlayer = document.getElementById("video-player-mobile");
  if (!!videoPlayer && videoPlayer.paused) {
    // 如果视频暂停了,播放视频
    videoPlayer.play();
  }
};

// 处理touchstart事件并触发视频播放的函数
handleTouchStart = () => {
  // 当屏幕被触摸/点击时触发视频播放
  this.handleMouseMovePlayVideo();
};

// 渲染带有注释的视频元素
render() {
  return (
    <video
      id="video-player-mobile"
      width="100%"
      height="100%"
      controls={false}
      autoPlay={false}
      muted={true}
      playsInline={true}
      x5-playsinline="true"
      x-webkit-airplay="allow"
      x5-video-player-fullscreen="false"
      x5-video-orientation="portrait" // 修正:应为 "portrait"
      poster={封面url}
      preload="auto"
      loop={true}
    >
      <source
        src='视频url'
        type="video/mp4"
      />
    </video>
  );
}

四、以上是在react中实现效果、亲测有效、当然也可以使用ref去实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

web_icon

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

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

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

打赏作者

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

抵扣说明:

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

余额充值