Javascript YT视频结束后如何切换下一个视频?
我有以下代码,可以播放来自youtube的不同视频。我想知道预览结束后如何切换到下一个视频Javascript YT视频结束后如何切换下一个视频?,javascript,youtube-api,Javascript,Youtube Api,我有以下代码,可以播放来自youtube的不同视频。我想知道预览结束后如何切换到下一个视频 function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height: '250', width: '436', videoId: 'ID HERE', events: { 'onReady': onPlayerReady, 'onStateChange':
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '250',
width: '436',
videoId: 'ID HERE',
events: {
'onReady': onPlayerReady,
'onStateChange': function(e) {
if (e.data == 0) {
}
}
}
});
}
var item = document.getElementsByClassName('item');
function setLinks(){
for (var i = 0; i < item.length; i++) {
item[i].ind = i;
addEvent('mouseover', item[i], itemHandler);
addEvent('mouseout', item[i], itemHandler);
addEvent('click', item[i], itemHandler);
console.log('click')
}
}
function itemHandler(e){
var n = e.target.ind;
switch(e.type) {
case 'click':
switch(n) {
case 0:
counters("pause");
TweenMax.to(youtubeVideo,1,{opacity:0, ease:Power1.easeInOut });
setTimeout(function(){player.loadVideoById("ID HERE")}, 1000, console.log('click'));
TweenMax.to(youtubeVideo,1,{opacity:1, delay: 1, ease:Power1.easeInOut });
counters("play");
break;
case 1:
counters("pause");
TweenMax.to(youtubeVideo,1,{opacity:0, ease:Power1.easeInOut });
setTimeout(function(){player.loadVideoById("ID HERE")}, 1000, console.log('click'));
TweenMax.to(youtubeVideo,1,{opacity:1, delay: 1, ease:Power1.easeInOut });
counters("play");
break;
case 2:
counters("pause");
TweenMax.to(youtubeVideo,1,{opacity:0, ease:Power1.easeInOut });
setTimeout(function(){player.loadVideoById("ID HERE")}, 1000, console.log('click'));
TweenMax.to(youtubeVideo,1,{opacity:1, delay: 1, ease:Power1.easeInOut });
counters("play");
break;
case 3:
counters("pause");
TweenMax.to(youtubeVideo,1,{opacity:0, ease:Power1.easeInOut });
setTimeout(function(){player.loadVideoById("ID HERE")}, 1000, console.log('click'));
TweenMax.to(youtubeVideo,1,{opacity:1, delay: 1, ease:Power1.easeInOut });
counters("play");
break;
}
break;
}
}
function startYoutube(){
TweenMax.to(youtubeVideo,0.5,{opacity:1, ease:Power1.easeInOut });
setLinks();
youtubeVideo.style.display = "block";
player.playVideo();
counters("play");
}
function onPlayerReady() {
function updateTime() {
var oldTime = videotime;
if(player && player.getCurrentTime) {
videotime = player.getCurrentTime();
}
if(videotime !== oldTime) {
onProgress(videotime);
}
}
timeupdater = setInterval(updateTime, 100);
}
// when the time changes, this will be called.
onProgressTrue = false;
function onProgress(currentTime) {
var d = player.getDuration();
if(Math.round(currentTime) == Math.round(d/2) && !onProgressTrue) {
onProgressTrue = true;
counters("midpoint");
console.log("the video reached halfway!");
}
}
函数onyoutubeiframeapiredy(){
player=新的YT.player('player'{
高度:'250',
宽度:“436”,
videoId:“我在这里”,
活动:{
“onReady”:onPlayerReady,
“onStateChange”:函数(e){
如果(例如,数据==0){
}
}
}
});
}
var item=document.getElementsByClassName('item');
函数setLinks(){
对于(变量i=0;i那么我是如何得到“player.getDuration()”的,但在那之后我不知道如何告诉它继续下一个“案例”。这对您的案例有帮助吗?不太可能,因为我知道视频结束后如何瞄准。我想知道如何转到下一个视频ID,然后您可以在中找到所需的一切。听起来你需要给播放器打电话。当e.data==0时(YT.PlayerState.ENDED)。您可以将视频列表传递给播放器。