有一段时间我一直在使用这个脚本,视频自动播放全屏 . 现在突然,视频无法在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 回答
(一)从评论讨论中得出的可能解决方案将是 muting the video 如果声音在您的情况下不重要(如果是,我将留下答案,因为它可以帮助其他人) .
这显然是启用自动播放 always 的唯一方法 . 来自文章:
资料来源:Google changelog
只需添加您的playerVars:
Source for the muted video
Google Chrome删除了自动播放功能 . 见下文:
https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
您应该将
allow="autoplay"
放在嵌入iframe
元素上Chrome的autoplay policies:
为我工作这个解决方案:
即使使用所有有效的自动播放html属性,它也不适合我,但上面的代码有帮助 .