绕过有声视频的镀铬自动暂停?

时间:2018-05-06 15:36:58

标签: javascript jquery google-chrome youtube tubular

我有一个网站设置,背景是使用Tubular.js插件的YouTube视频。 Chrome浏览器存在问题,如果我使用mute: false标志加载,则自动暂停YouTube视频。 Chrome是唯一的攻击者,因为它可以与opera,firefox等一起使用。如果我将标记更改为mute: true,视频将会很好用。

Chrome最近开始阻止播放带有声音的视频。是否有一个选项可以在chrome上绕过这个,或者至少修改一下tubular.js库/ js调用,这样它只会在chrome用户代理上静音(无论设置如何)?

https://codepen.io/anon/pen/MGEZrO

提前致谢

2 个答案:

答案 0 :(得分:1)

根据Chrome逻辑,如果未将视频静音,则无法自动播放视频。但是,如果已静音,他们允许自动播放视频,如果用户取消静音,它们将不会停止播放。通过这种(与用户互动的方式),Chrome意味着仅需点击或用户点击网站上的(无处不在,而不仅仅是视频组件)。

只需让您的用户在您的网页上单击一下,然后您就可以安装/启动具有自动播放和声音功能的视频。

我的React Spa也有类似情况。我强迫用户在安装视频之前先单击一下。只有这样,它才能开始播放声音。

我也有这样的情况,即使没有点击,视频也必须开始播放,我只是在整个页面上添加了EventListener以便尽快取消静音

play(from = null) {
  document.addEventListener('click', () => {
  // any click will force my video to unmute
  this.player.muted = false; 
  });
  // rest code for updating state etc
}

不幸的是,触发点击不起作用(视频将自动停止)

答案 1 :(得分:0)

根据他们的guidelines about autoplay on chrome;

  

很遗憾,Chrome无法为自动播放政策提供任何白名单例外。

他们还解释了如何以微创方式呈现内容(首先是静音视频)以及有关政策的其他一些提示。