我尝试使用YouTube iframe API在Safari手机上自动播放Youtube视频。这是我的代码:
<div class="player-wrapper featured-small featured-medium featured-large featured-xlarge">
<div id="player"></div>
</div>
<script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
playerVars: {
'controls': 0,
'showinfo': 0,
'autoplay': 1,
'loop': 1,
'modestbranding': 1,
'playlist': '<?php echo $scales_hero_video; ?>'
},
videoId: '<?php echo $scales_hero_video; ?>',
events: {
'onReady': onPlayerReady}
});
}
function onPlayerReady(event) {
event.target.mute();
event.target.playVideo();
}
</script>
先谢谢你们!
视频应该在静音时自动播放和循环播放。但该视频并没有开始在Safari手机中播放。
答案 0 :(得分:1)
Apple不允许在iOS设备上使用基于WebKit的浏览器进行自动播放或脚本式播放,这可以防止通过蜂窝网络进行不必要的下载。
正如YouTube播放器API手册(https://developers.google.com/youtube/iframe_api_reference#Mobile_considerations)中所述:
移动注意事项
自动播放和脚本播放 在某些移动浏览器(例如Chrome和Safari)中,HTML5元素仅允许在用户交互(例如点击播放器)启动时进行播放。以下摘自Apple's documentation:
“警告:为了防止用户通过蜂窝网络进行未经请求的下载,嵌入式媒体无法在iOS上的Safari中自动播放 - 用户始终会启动播放。”
由于此限制,自动播放,playVideo(),loadVideoById()等功能和参数将无法在所有移动环境中使用。
所以你想要什么,在Safari Mobile上自动播放视频是不可能的......
此致
Leon Hagendijk