有没有办法显示/查看/返回当前正在播放的视频(即哪个视频ID)?
这是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",
},
});
}
第一个视频完成后。该活动将被称为:
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...
您可以将其粘贴到桌面上的控制台中,如果您正在观看 YouTube 视频,它会将 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);
}
(由 Dal 原创)- 此版本经过编辑以与播放列表一起使用
var url = window.location.href;
var isYTvid = url.indexOf("www.youtube.com/watch?v=");
if (isYTvid != -1) {
var id = url.split("&")[0].split("=")[1]
console.log(id);
}