Javascripting一个Youtube视频后播放
问题描述:
我的视频不加载下面的代码。Javascripting一个Youtube视频后播放
它似乎应该是非常直接的,但我不能让它加载任何东西。我已经试过:
- 改变视频
- 改变事件的订单
- 在HTML
将显式高度到div ......这就是所有我可以拿出。
任何人都可以看到发生了什么问题吗?
谢谢。
<html>
<head>Video title
<script src=//"www.youtube.com/iframe_api"></script>
<script>
var videoIDs = [
'OdT9z-JjtJk',
'NlXTv5Ondgs'
];
var player, currentVideoId = 0;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '350',
width: '425',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
event.target.loadVideoById(videoIDs[currentVideoId]);
}
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.ENDED) {
currentVideoId++;
if (currentVideoId < videoIDs.length) {
player.loadVideoById(videoIDs[currentVideoId]);
}
}
}
</script>
</head>
<body>
<div id="player"></div>
</body>
</html>
答
使用这个剧本,我改变simething: -
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player, currentVideoId = 0;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '350',
width: '650',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
event.target.playVideo();
}
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
currentVideoId++;
if (currentVideoId < videoIDs.length) {
player.loadVideoById(videoIDs[currentVideoId]);
}
setTimeout(stopVideo, 6000);
done = true;
}
}