Youtube API:查看当前正在播放哪个视频id

Youtube API: See which video id is currently playing

本文关键字:播放 id 视频 API Youtube      更新时间:2023-12-13

有没有办法显示/查看/返回当前正在播放的视频(即哪个视频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()函数将获取另一个要播放的视频ID。。

我想在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);
}