We're developing a YouTube player and are using the IFrame API. Everything works really nice except on our Android 4.2.2 test devices.
Only on those devices (and not on any other version of Android), it is necessary to "manually" start the video by touching the video view. On all other devices, we can programatically start the video playing using the YouTube method.
Once the video has been started in this way, the YouTube API works as expected (i.e. play, pause, stop methods all work programatically as expected).
Here's the essence of our code:
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();
}
If we attempt to programatically play the video before a user has "manually" started the video (on Android 4.2.2 devices), the video begins buffering and then fails. Upon failure, the video view goes black and displays a distinct pattern, seen in the top left of the video view in image here:
Has any anyone else experienced this issue? Does anyone have any suggestions about what to do about it?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…