工作,我创建了YouTube视频的自定义HTML5播放器。我将其基于YouTube iframe API中的示例(https://developers.google.com/youtube/iframe_api_reference)。只要我看它在一个Web服务器,所有的暂停/播放的JavaScript控件/停止在Chrome/FF/IE9做工精细,但在播放控制播放/下一个视频之前的视频仅适用于Chrome和FF工作。在IE中,我收到了“此视频目前无法使用”(播放列表中的第一个视频仍然播放得很好)。如果我尝试使用其ID(loadVideoById)切换到特定视频,也会发生这种情况。YouTube的HTML5播放列表不是IE9
我可以在视频顶部的信息栏中看到,经过我点击“下一个视频播放列表”,它循环通过所有视频的名字 - 我认为它会尝试打每一个和失败。
如果我尝试播放在播放列表中的影片任何一个单独,它工作正常。
当我通过控制台/警报/不管,一切都预期有播放列表返回的所有视频的数组。代码如下:
<!doctype html>
<html>
<head>
<title>custom youtube player</title>
</head>
<body>
<div id="player"></div>
<br/>
<a onclick="player.playVideo();" href="#">play</a>
<br/>
<a onclick="player.pauseVideo();" href="#">pause</a>
<br/>
<a onclick="player.stopVideo();" href="#">stop</a>
<br/>
<a id="playPrev" onclick="player.previousVideo();" href="#">previous video in playlist</a>
<br/>
<a id="playNext" onclick="player.nextVideo();" href="#">next video in playlist</a>
<script type="text/javascript">
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
playerVars: { 'showinfo': 1, 'controls': 1},
videoId: 'ZrG0WsDuriM',
events: {
'onReady': onPlayerReady
}
});
}
function onPlayerReady(event) {
event.target.playVideo();
event.target.loadPlaylist({listType: 'playlist', list: 'PL8D3EFFBB747B9769', suggestedQuality: 'small'});
}
</script>
</body>
</html>