微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Safari 的静音自动播放时调整视频音量

如何解决在 Safari 的静音自动播放时调整视频音量

试图绕过 Safari 对 html5 视频的“静音”要求。在我的视频标签中保留“静音”属性 - 但在视频播放几秒钟后尝试使用 JS 设置音量。发生的事情是用户仍然必须按下音量按钮,然后认音量才起作用 - 但真的想强制它自动将其推到 100% 或非静音。似乎我可能正在与 Safari 进行一场艰苦的战斗 - 但我想我会问任何其他 JS 开发人员他们是否已经成功完成了这项工作。

<video class="video__home" id="video__home" width="1920" height="960" onended="videoEnd()" preload="auto" autoplay playsinline muted controls>
      <source src="videos/home_pg.mp4" type="video/mp4">
      <source src="videos/home_pg.webm" type="video/webm">
      <source src="videos/home_pg.ogv" type="video/ogv">
      Your browser does not support the video tag.
      <script>
        function videoEnd() {
          console.log('The video has ended');
          $(".video__home").addClass( "hide" );
          $(".video__home__title").addClass( "hide" );
          $(".video__home__detail").addClass( "hide" );
          $(".video__home__btn").addClass( "hide" );
          $(".video__home__book").addClass( "hide" );
          $(".video__home__overlay").addClass( "hide" );
          $(".video__home__ending-text").addClass( "show" );
        };
        var _video = $('.video__home')[0],timeoutID;
        $(_video).on('playing',function(event){
          timeoutID = window.setInterval(function() {
          console.log("video is playing");
          document.getElementById("video__home").volume = 0.2;
        },10);
        }).on('ended',function(event){
          console.log("video ended");
          window.clearInterval(timeoutID);
        });
      </script>
    </video>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。