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

che*_*chu 16 javascript youtube google-chrome autoplay

有一段时间我一直在使用这个脚本,视频自动播放全屏.现在突然,视频无法在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>
Run Code Online (Sandbox Code Playgroud)

Ale*_*det 23

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

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

"总是允许静音自动播放."

资料来源:Google changelog


只需添加您的playerVars:

mute : 1
Run Code Online (Sandbox Code Playgroud)

静音视频的来源


Ser*_*rge 6

您应该将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">
Run Code Online (Sandbox Code Playgroud)

Chrome的自动播放政策

  • 顶部框架可以将自动播放权限委派给其,iframe以允许autoplay 声音播放
  • 始终允许静音自动播放。
  • 在以下情况下,允许自动播放声音
    • 用户已与域进行了交互(单击,点击等)。
    • 在台式机上,已经超过了用户的“ 媒体参与度索引”阈值,这意味着该用户以前曾播放有声视频。
    • 在移动设备上,用户已将该站点添加到其主屏幕。