首页 文章

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

提问于
浏览
12

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

4 回答

  • 0

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

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

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

    资料来源:Google changelog


    只需添加您的playerVars:

    mute : 1
    

    Source for the muted video

  • 7

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

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

  • 20

    您应该将 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

    顶部框架可以将自动播放权限委托给他们的iframe,以允许自动播放声音 . 始终允许静音自动播放 . 如果出现以下情况,则允许使用声音进行自动播放:用户已与域进行了互动(单击,点击等) . 在桌面上,用户的媒体参与度指数阈值已超过,这意味着用户之前已播放带有声音的视频 . 在移动设备上,用户已将该网站添加到其主屏幕 .

  • 3

    为我工作这个解决方案:

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

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

相关问题