【发布时间】:2015-12-01 01:18:43
【问题描述】:
我试图弄清楚如何让 2 个视频一个接一个地自动播放,即第一个视频结束后,第二个视频开始播放。如何才能做到这一点? http://jsfiddle.net/neowot/8hc3mf27/
HTML
<div class="videowrapper">
<iframe src="https://www.youtube.com/embed/zgQaEAhMIOI" frameborder="0" allowfullscreen></iframe>
</div>
<div class="videowrapper">
<iframe src="https://www.youtube.com/embed/zgQaEAhMIOI" frameborder="0" allowfullscreen></iframe>
</div>
CSS
.videosetter{
}
.videowrapper {
/*float: none;
clear: both;
width: 100%;
height:100%;
position: absolute;
background-color:blue;
padding-bottom: 56.25%;
padding-top: 25px;
height: 0;*/
}
.videowrapper iframe {
position: relative;
top: 2px;
left: 12px;
margin-bottom:3px;
margin-left:0px;
width:250px;
height:145px;
border-width:1px;
border-style:solid;
border-color:black;
}
jQuery
$(document).ready(function() {
this.player = new YT.Player('player', {
height: pxHeight,
width: pxWidth,
playerVars: {
'rel': 0,
'controls': 0,
'fs':0
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': onError
}
});
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING) {
LOG("Youtube Playing");
} else if (event.data == YT.PlayerState.ENDED) {
LOG(">>>Youtube Ended");
this.player.loadVideoById(ID, 0, "default");
} else if (event.data == YT.PlayerState.PAUSED) {
LOG("Youtube Paused");
} else if (event.data == YT.PlayerState.BUFFERING) {
LOG("Youtube Buffering");
} else if (event.data == YT.PlayerState.CUED) {
LOG("Youtube Cued");
}
}
});
【问题讨论】:
-
你还没有把所有的元素都放在小提琴上。
this是什么,pxHeight和pxWidth!您错过了对 API 的调用 -
我建议您返回developers.google.com/youtube/js_api_reference?hl=en 并添加 API 的缺失部分。另外,带有
playerid 的元素在哪里?您无需创建两个 iframe,一旦您设置好 API,API 将为您完成所有工作。听起来您想创建一个播放列表。你可能会发现这个答案很有用stackoverflow.com/questions/32001845/…
标签: javascript jquery css video youtube