YouTube自动播放无法在Chrome中使用

问题描述 投票:12回答:4

有一段时间我一直在使用这个脚本,视频自动播放全屏。现在突然,视频无法在Chrome中自动播放。但在Firefox和Edge中它仍然有效。

那么谷歌可能改变了设置?有谁知道如何解决这个问题,拜托?你在这里看到了现场的例子:www.brunomazereel.com

<script src="http://www.youtube.com/player_api"></script>
<script type="text/javascript">
var player;
function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
    playerVars: {
        'autoplay': 1,
        'controls': 0,
        'autohide': 1,
        'wmode': 'opaque',
        'showinfo': 0,
        'loop': 1,
        'rel': 0,
        'playlist': 'rh5QiehIlVA,Bl63bdR-Ko0,'
        },
    videoId: 'u-cjliof1xk',
    events: {
        'onReady': onPlayerReady
    }
});
}
function onPlayerReady(event) {
event.target();
$('#text').fadeIn(400);
}
$(window).scroll(function() {
var hT = $('.m-video').height(),
   wS = $(this).scrollTop();
if (wS > hT) {
  player.pauseVideo();
}
else {
  player.playVideo();
}
});
</script>
javascript google-chrome youtube autoplay
4个回答
22
投票

(一)从评论讨论中得到的可能解决方案将使视频静音,如果声音在您的情况下不重要(如果是,我将留下答案,因为它可以帮助其他人)。

这显然是始终启用自动播放的唯一方法。来自文章:

“总是允许静音自动播放。”

资料来源:Google changelog


只需添加您的playerVars:

mute : 1

Source for the muted video


7
投票

Google Chrome删除了自动播放功能。见下文:

https://developers.google.com/web/updates/2017/09/autoplay-policy-changes


4
投票

你应该把allow="autoplay"放在嵌入的iframe元素上

<!-- Autoplay is allowed. -->
<iframe src="https://cross-origin.com/myvideo.html" allow="autoplay">

<!-- Autoplay and Fullscreen are allowed. -->
<iframe src="https://cross-origin.com/myvideo.html" allow="autoplay; fullscreen">

Chrome的autoplay policies

  • 顶部框架可以delegate autoplay permission到他们的iframes允许autoplay有声。
  • 始终允许静音自动播放。
  • 如果符合以下条件,则允许自动播放声音 用户已与域进行了互动(点击,点击等)。 在桌面上,用户的Media Engagement Index阈值已被越过,这意味着用户之前已播放带有声音的视频。 在移动设备上,用户已将该网站添加到其主屏幕。

0
投票

为我工作这个解决方案:

jQuery("video-iframe")[0].src += "&autoplay=1";

即使使用所有有效的自动播放html属性,它也不适合我,但上面的代码有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.