我试图做的事情是获取当前正在播放的YouTube视频的当前视频ID并将其显示在div中。获取返回随机值的函数的当前值
这是我YT iframe
API代码(如在对谷歌开发的网站基本的例子):
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: currentVideoId,
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': onError,
},
});
}
,你可以看到,该视频ID(第一视频将发挥)是由一组变量被称为 “currentVideoId”,其被设定之前是这样的:
var currentVideoId = '9z4Kft47kBM'
我想在一个div来显示当前的ID
<div id="currentVideoDiv"></div>
要做到这一点,我用这个代码:
$('#currentVideoDiv').html('Currently Playing:' + currentVideoId);
到目前为止好,它正确地显示了我的第一个视频ID。
现在第一视频结束后,该onStateChange事件将调用这个函数:
function onPlayerStateChange(event) {
if(event.data === 0) {
swapVideo();
}
}
的“swapVideo”功能会调用该函数的getId();
function swapVideo() {
player.stopVideo();
player.loadVideoById(getId());
}
getId()函数将从xml文件中获取一个随机视频ID,不用担心这个问题。
function getId() {
return videos[Math.floor(Math.random() * videos.length)];
}
所以现在有一个新的视频ID的新的视频播放,但在currentVideoDiv值仍然是相同的,因为没有做改变。
问题是,我怎样才能得到新的当前ID,这是由getId函数随机设置并显示在当前视频分区?
更新显示器ID时,你叫'$( '#currentVideoDiv')的假设HTML( '目前比赛:' + currentVideoId);'? 'swapVideo()'之后? – carmina
我在最后和getId()函数里面试过了 –