美文网首页
video autoplay仿主流视频网站实现预览播放

video autoplay仿主流视频网站实现预览播放

作者: litielongxx | 来源:发表于2019-02-04 17:02 被阅读0次

video的autoplay失效

video作为html页面中的视频播放控件,基于保护手机端流量或者打扰用户的原因,在未产生某些有效交互前(click,keydown算,mousevoer/enter不算)等事件,某些浏览器上禁止有autoplay自动播放视频。但是对于禁止声音的muted属性video标签则可以。(未足够交互拒绝播放有声音的视频是浏览器规范,普遍无解决方案,只有设计引导)

自动播放

如图所示,是主流视频网站的鼠标移入的出发自动预览视频效果,因为鼠标mouseover不属于有效交互,所以早期是无法实现移上去自动播放,设置autoplay也不行。需要解决的是鼠标移入自动播放,提高体验。用户体验是产生交互移上去显示声音自动播放,无则显示静音图标提示点击。


鼠标移入自动播放

解决步骤:

1.设置muted属性实现自动播放

<video v-if="i==2" autoplay="autoplay" loop src="xx"></video>
//js
video.muted=true;//开启静音为了自动播放

2.监控页面click或者keydown等有效交互(滚动肯定触发按键或者鼠标click),存在开启声音正常播放,提高体验。

//监听事件 click/keydown
  document.querySelector("body").onclick = () => {
        doucment.querySelectorAll('video').forEach((ele)=>{
          ele.muted=false;//存在有效交互关闭静音,提升体验。
      })
  document.querySelector("body").onkeydown = () => {
        doucment.querySelectorAll('video').forEach((ele)=>{
          ele.muted=false;
      })
  };

3实际使用环境大多为无效交互,需要先设置静音状态。


提示静音引导点击
//绑定图标切换关闭/开启事件
volumeSwitch(type) {
      //确定当前的video静音属性,每个都是单独存在的通过key查找
      let preVideo = document.querySelectorAll(".pre-video")[this.preIndex];
      if (i == ''open) {
        // 开启声音
        preVideo.querySelector(".el-icon-check").style.display = "block";
        preVideo.querySelector(".el-icon-close").style.display = "none";
        preVideo.querySelector("video").muted = false;
      } else {
        // 关闭声音
        preVideo.querySelector(".el-icon-check").style.display = "none";
        preVideo.querySelector(".el-icon-close").style.display = "block";
        preVideo.querySelector("video").muted = true;
      }
    }

备注:autoplay自动播放失效根本原因在于无有效交互前的浏览器安全策略,隐私策略或许之前防止移动端自动播放视频大流量。本质上有声音video暂无解决,可以通过设计引导。

相关文章

  • video autoplay仿主流视频网站实现预览播放

    video的autoplay失效 video作为html页面中的视频播放控件,基于保护手机端流量或者打扰用户的原因...

  • H5里的 vedio 和 audio

    Video(视频): 属性: controls 播放条 autoplay 自动播放 loop 循环播放...

  • html5新增 的标签

    1.video 作用:播放视频 格式: 属性: src:用于告诉video标签需要播放的视频地址 autoplay...

  • HTML学习之路-第五天

    1.video标签 (1)作用:播放视频 (2)格式: (3)属性:-autoplay(自动播放视频) ...

  • 7,多媒体

    1,视频标签 1, src: 告诉video标签需要播放的视频地址 autoplay: 告诉video标签是否需要...

  • video标签的归纳

    video标签的属性src: 用于告诉video标签需要播放的视频地址autoplay: 用于告诉video标签是...

  • video标签

    格式: video标签属性: src:用于告诉video标签需要播放的视频地址。 autoplay:用于告诉vid...

  • video标签

    属性 src: 用于告诉video标签需要播放的视频地址 autoplay: 用于告诉video标签是否需要自动播...

  • 移动端浏览器视频自动播放

    在手机里做到视频自动播放 遇到的问题 1,video标签里有个autoplay的属性。在pc端可以实现自动播放。但...

  • html5新标签

    新增的标签 1.

网友评论

      本文标题:video autoplay仿主流视频网站实现预览播放

      本文链接:https://www.haomeiwen.com/subject/hcgpsqtx.html