Youtube API:查看当前正在播放的视频 ID

问题描述 投票:0回答:4

有没有办法显示/查看/返回当前正在播放的视频(即哪个视频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

javascript jquery youtube-api
4个回答
20
投票
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']);
    }
}

4
投票

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


0
投票

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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.