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



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

function onYouTubePlayerReady(playerId) {
        ytplayer = document.getElementById("myytplayer");
        ytplayer.cuePlaylist({
            list:"PLf71xE2jRgTXB_LeUJkXxFwCc4r1z5if3"
        });
        console.log(ytplayer.getPlaylist());
}

但是getPlayList()方法只返回一个空数组。

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

非常感谢。

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

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

我做了一个简单的工作,看看玩家的状态变化事件

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

相关内容

  • 没有找到相关文章

最新更新