Android 4.3上的YouTube嵌入式播放器
我正在尝试将YouTube播放器嵌入到我的网页中,如下所示 我遇到的问题是,播放器最初加载并播放第一个视频很好,但当调用.loadVideoById时,播放器看起来要加载视频(视频标题文本发生变化),但随后被卡在黑屏上而不是播放 这只会发生在Android上,HTML5播放器(包括Chrome和默认浏览器)自从将我的手机更新到Android 4.3之后,之前在4.2上还不错 它可以通过桌面chrome和设置为仿冒Android的useragent正常工作 我还试过另外两款安卓手机,两款都有同样的问题(都是4.3版)。我也间歇性地得到同样的行为,使用谷歌代码游乐场的例子Youtube播放器 如果我连接ADB Chrome远程调试器,我可以看到播放器卡在缓冲状态,尽管视频片段正在下载,正如预期的那样 有没有人经历过类似的事情?或者有什么建议 代码:Android 4.3上的YouTube嵌入式播放器,android,html,youtube,youtube-api,html5-video,Android,Html,Youtube,Youtube Api,Html5 Video,我正在尝试将YouTube播放器嵌入到我的网页中,如下所示 我遇到的问题是,播放器最初加载并播放第一个视频很好,但当调用.loadVideoById时,播放器看起来要加载视频(视频标题文本发生变化),但随后被卡在黑屏上而不是播放 这只会发生在Android上,HTML5播放器(包括Chrome和默认浏览器)自从将我的手机更新到Android 4.3之后,之前在4.2上还不错 它可以通过桌面chrome和设置为仿冒Android的useragent正常工作 我还试过另外两款安卓手机,两款都有同样的
<div id="ytwrapper">
<div id="player" >
</div>
</div>
<script type="text/javascript">
var ytplayer;
3。此函数在API代码下载后创建一个(和YouTube播放器)。
var tag = document.createElement("script");
tag.src = "http://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName("script")[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onYouTubeIframeAPIReady()
{
ytplayer = new YT.Player('player', { width: 1280,
height: 720,
videoId: 'M7lc1UVf-VE',
frameborder:0,
events:
{
"onReady": onYouTubePlayerReady,
"onStateChange": onytplayerStateChange,
"onPlaybackQualityChange": onYTQchange,
"onError": onYTError
}
});
}
function loadnextvid()
{
ytplayer.loadVideoById(vids[currentvid],0, vqs[currentvid]);
}
function onYouTubePlayerReady(playerId)
{
loadnextvid();
}
</script>
函数onyoutubeiframeapiredy()
{
ytplayer=新的YT.Player('Player',{宽度:1280,
身高:720,
videoId:'M7lc1UVf VE',
帧边框:0,
活动:
{
“onReady”:onYouTubePlayerReady,
“onStateChange”:onytplayerStateChange,
“onPlaybackQualityChange”:onYTQchange,
“onError”:恐怖
}
});
}
函数loadnextvid()
{
ytplayer.loadVideoById(vids[currentvid],0,vqs[currentvid]);
}
函数onYouTubePlayerReady(playerId)
{
loadnextvid();
}
我也有同样的问题。看起来目前解决这个问题的唯一方法是销毁并重新创建播放器实例 我在这里找到了这个解决方案: 适用于我的安卓4.4,iOS7
if (player != null) {
player.destroy();
player = null;
}
player = new YT.Player('divplayer', {
width: '100%',
height: '100%',
videoId: video_id,
playerVars: { 'autoplay': 0, 'playerapiid': 'ytPlayer', 'border': 0, 'hd': 1, 'version': 3, 'rel': 0, 'color' : 'red' },
events: {
'onReady': onPlayerReady
}
});
我也有同样的问题。看起来目前解决这个问题的唯一方法是销毁并重新创建播放器实例 我在这里找到了这个解决方案: 适用于我的安卓4.4,iOS7
if (player != null) {
player.destroy();
player = null;
}
player = new YT.Player('divplayer', {
width: '100%',
height: '100%',
videoId: video_id,
playerVars: { 'autoplay': 0, 'playerapiid': 'ytPlayer', 'border': 0, 'hd': 1, 'version': 3, 'rel': 0, 'color' : 'red' },
events: {
'onReady': onPlayerReady
}
});