Javascript Youtube iFrame API';提示VideoByID在移动设备中不工作?
我在一个网站上工作,该网站涉及在移动设备上播放嵌入式Youtube视频片段。声明cueVideoById支持定义startSeconds和endSeconds参数,只要使用如下对象语法:Javascript Youtube iFrame API';提示VideoByID在移动设备中不工作?,javascript,iframe,youtube-api,Javascript,Iframe,Youtube Api,我在一个网站上工作,该网站涉及在移动设备上播放嵌入式Youtube视频片段。声明cueVideoById支持定义startSeconds和endSeconds参数,只要使用如下对象语法: player.cueVideoById({videoId:String, startSeconds:Number, endSeconds:Number, suggestedQual
player.cueVideoById({videoId:String,
startSeconds:Number,
endSeconds:Number,
suggestedQuality:String}):Void
这在桌面浏览器上运行得很好,但在Android和WindowsPhone8中,我都会收到标准的Youtube消息,说视频当前不可用。如果我将cueVideoById切换回参数语法,如下所示,一切正常:
player.cueVideoById(videoId:String,
startSeconds:Number,
suggestedQuality:String):Void
…但我再也无法访问endSeconds了。有没有人知道原因,或者更好的办法?我使用的代码基于API中的基本入门示例:
<!DOCTYPE html>
<html>
<body>
<!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
<div id="player"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
event.target.cueVideoById("u1zgFlCw8Aw", 10, "medium"); // Works on mobile
/*
event.target.cueVideoById({ videoId: "u1zgFlCw8Aw", // Doesn't work on mobile
startSeconds: "10",
endSeconds: "15",
suggestedQuality: "medium"});
*/
event.target.playVideo();
}
</script>
</body>
</html>
// 2. 此代码异步加载IFrame播放器API代码。
var tag=document.createElement('script');
tag.src=“//www.youtube.com/iframe_api”;
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
// 3. 此函数用于创建(和YouTube播放器)
//API代码下载后。
var播放器;
函数onyoutubeiframeapiredy(){
player=新的YT.player('player'{
高度:“390”,
宽度:“640”,
活动:{
“onReady”:onPlayerReady,
“onStateChange”:onPlayerStateChange
}
});
}
// 4. 当视频播放器准备就绪时,API将调用此函数。
函数onPlayerReady(事件){
event.target.cueVideoById(“u1zgFlCw8Aw”,10,“medium”);//适用于移动设备
/*
event.target.cueVideoById({videoId:“u1zgFlCw8Aw”,//在移动设备上不起作用
开始秒:“10”,
结束秒:“15”,
建议质量:“中等”});
*/
event.target.playVideo();
}
我添加了以下内容:
function onPlayerStateChange(event) {
}
现在只有第一个例子对我有效,就像你在评论中所说的那样。现在在android jellybean上对我有效 我补充说:
function onPlayerStateChange(event) {
}
函数onPlayerStateChange(事件){
}