我很困惑。Youtube Iframe API的标准示例:https://developers.google.com/youtube/iframe_api_reference?hl=de以前总是为我的移动设备工作,现在已经不工作了。。
我试过这把小提琴:http://jsfiddle.net/77PJB/3/
<div id="player"></div>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '250',
width: '444',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady
}
});
}
function onPlayerReady(event) {
event.target.playVideo();
}
iPad、iPhone和三星galaxy nexus。视频不播放。。有什么变化吗?
谢谢
移动注意事项
自动播放和脚本播放
在某些移动浏览器(如Chrome和Safari)中,HTML5元素只允许在用户交互(如点击播放器)启动的情况下进行播放。以下是苹果文档的摘录:
"警告:为了防止用户通过蜂窝网络主动下载,嵌入式媒体无法在iOS上的Safari中自动播放——用户总是启动播放。">
由于此限制,autoplay、playVideo()、loadVideoById()等函数和参数无法在所有移动环境中工作。
发件人:https://developers.google.com/youtube/iframe_api_reference#Mobile_considerations
一个简单的变通方法,可以自定义"播放"按钮的外观:
使用pointer-events: none;
创建叠加元素。pointer-events
适用于所有现代移动浏览器,或者只需将视频容器放在带有opacity: 0
的按钮上即可。
大多数移动设备都不允许使用自动播放功能,所以如果你去掉它的
我也遇到了同样的问题。在电脑上表现不错,但在手机上表现不佳。经过一点研究,我发现我试图播放的视频是CopyRighted。因此,视频没有在手机上播放。希望这能帮助
使用这些玩家变量
playerVars: {'playsinline':'1', 'theme':'light','color':'white','modestbranding':1,'rel':0},
Only.playVideo()(如果浏览器不是移动浏览器)。有很多方法可以检测移动浏览器,如下所示:检测移动浏览器
例如:
if(typeof window.orientation == 'undefined'){
player.playVideo();
};