Youtube api YouTube API中的getPlayList()返回空数组

Youtube api YouTube API中的getPlayList()返回空数组,youtube-api,Youtube Api,我有以下代码,希望能够在其中进行控制台操作。注销播放列表中的视频列表: function onYouTubePlayerReady(playerId) { ytplayer = document.getElementById("myytplayer"); ytplayer.cuePlaylist({ list:"PLf71xE2jRgTXB_LeUJkXxFwCc4r1z5if3" }); console.

我有以下代码,希望能够在其中进行控制台操作。注销播放列表中的视频列表:

function onYouTubePlayerReady(playerId) {
        ytplayer = document.getElementById("myytplayer");

        ytplayer.cuePlaylist({
            list:"PLf71xE2jRgTXB_LeUJkXxFwCc4r1z5if3"
        });
        console.log(ytplayer.getPlaylist());
}
但是getPlayList方法只返回一个空数组

在使用它时,如果我从该函数外部调用getPlaylist,它会返回正确的数组。为什么这个方法在这里返回一个空数组?如何获取播放列表阵列


非常感谢。

我自己刚刚偶然发现了这个问题。这个问题似乎是该播放器的一个怪癖,以及YouTube谷歌是如何定义ready的

播放器的onReady函数似乎在播放器的chrome完成渲染(即绑定HTML文档)时启动。实际的播放器数据、视频或播放列表是异步加载的,因此在加载后的某个任意时间点都已准备就绪

我把一个简单的工作放在适当的地方,看看玩家的状态变化事件

var firstLoad = true;
function onPlayerStateChange(e) {
  if (firstLoad && e.data == YT.PlayerState.CUED) {
      //First Cued event - playlist is now available
      firstLoad = false
      myPlaylistFunction(player.getPlaylist());
  }
}