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); }