我们正在开发 YouTube 播放器并使用 IFrame API。除了在我们的 Android 4.2.2 测试设备上,一切都非常好。
只有在这些设备上(而不是在任何其他版本的 Android 上),有必要通过触摸视频视图“手动”启动视频。在所有其他设备上,我们可以使用 YouTube 方法以编程方式开始播放视频。
一旦以这种方式开始播放视频,YouTube API 就会按预期工作(即,播放、暂停、停止方法都以编程方式按预期工作)。
这是我们代码的本质:
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'C0DPdy98e4c',
playerVars: {
controls: 0,
showinfo: 0,
modestbranding: 1
}
});
}
function playVideo() {
player.playVideo();
}
如果我们尝试在用户“手动”启动视频之前以编程方式播放视频(在 Android 4.2.2 设备上),视频会开始缓冲然后失败。失败后,视频视图会变黑并显示一个明显的图案,如下图视频视图的左上角所示:
有没有其他人遇到过这个问题?有人对如何处理有任何建议吗?