Youtube API:查看当前正在播放的videoID

有没有办法显示/查看/返回当前播放的video(那个,哪个videoID)?

这是Iframe API的基本代码:

var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height: '390', width: '640', videoId: 'pJ18QeQy0e8', events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange, 'onError': onError, }, playerVars: { 'controls': 0, 'showinfo': 0, 'iv_load_policy': 3, 'wmode': "opaque", }, }); } 

第一个video完成后。 此事件将被调用:

  function onPlayerStateChange(event) { if(event.data === 0) { player.stopVideo(); player.loadVideoById(getId()); } } 

getId()函数将获得另一个videoId来播放..

我想在DIV中显示,videoId当前正在播放

 player.getVideoData()['video_id'] 

要么

 var video_data = player.getVideoData() video_data['video_id'] 

解:

 function onPlayerStateChange(event) { if(event.data === 0) { player.stopVideo(); player.loadVideoById(player.getVideoData()['video_id']); } } 

您可以使用getVideoUrl获取URL并从该URL中取出id部分。

使用window.location.href …

您可以将其粘贴到桌面上的控制台中,如果您使用的是YouTubevideo,它会将ID从url中删除,而不是优雅,但它适用于桌面

 var url = window.location.href; var isYTvid = url.indexOf("www.youtube.com/watch?v="); if (isYTvid != -1) { var id = url.slice(url.indexOf("=") + 1 , url.length); console.log(id); }