Android 4.3上的YouTube嵌入式播放器

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正常工作 我还试过另外两款安卓手机,两款都有同样的

我正在尝试将YouTube播放器嵌入到我的网页中,如下所示

我遇到的问题是,播放器最初加载并播放第一个视频很好,但当调用.loadVideoById时,播放器看起来要加载视频(视频标题文本发生变化),但随后被卡在黑屏上而不是播放

这只会发生在Android上,HTML5播放器(包括Chrome和默认浏览器)自从将我的手机更新到Android 4.3之后,之前在4.2上还不错

它可以通过桌面chrome和设置为仿冒Android的useragent正常工作

我还试过另外两款安卓手机,两款都有同样的问题(都是4.3版)。我也间歇性地得到同样的行为,使用谷歌代码游乐场的例子Youtube播放器

如果我连接ADB Chrome远程调试器,我可以看到播放器卡在缓冲状态,尽管视频片段正在下载,正如预期的那样

有没有人经历过类似的事情?或者有什么建议

代码:

<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
                }

            });