获取对 youtube 播放列表的引用

Get reference to youtube playlist

我无法引用 YouTube 播放列表视频。

这行不通JSFIDDLE

我什至不知道在播放列表中启用jsapi是真的吗?

var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player;
function onYouTubeIframeAPIReady() {
  player = new YT.Player('movie_player', {
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
}

function onPlayerReady() {
  console.log("hey Im ready");
//do whatever you want here. Like, player.playVideo();

}

function onPlayerStateChange() {
  console.log("my state changed");
}

我认为下面的代码可以帮助您入门,因为我没有正确理解您想要实现的目标。但我知道您需要播放和暂停视频。下面是我在项目中某处使用的代码-

function toggleVideo(state) {
        if(state == 'pause'){
            document.getElementById('movie_player').contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*');
        }
        else {
            document.getElementById('movie_player').contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');
        }
    }

更新 我现在完全明白了,下面是你如何实现这个的步骤-

1) 使用以下代码获取播放列表的 Json 数据-

var playlistId = 'PL1HIp83QRJHRbmJl0sS0CLOuIKCBCB76L';
$.getJSON('https://gdata.youtube.com/feeds/api/playlists/'+ playlistId +'?v=2&alt=jsonc',function(data,status,xhr){
// save json data of the playlist
}).error(function() { alert("404 Error"); });

参见下面的XML格式url,你可以在API中使用“&alt=jsonc”得到JSON格式的相同数据url- https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists#Retrieving_a_playlist

2) 创建两个 iframe 或容器,您需要在其中保留两个 youtube 播放器。第一个是你应该每隔 10 分钟左右暂停一次的播放器,暂停时你应该隐藏第一个容器。第二个实例应该包含应该播放第二个视频的播放器,该播放器应该播放直到完成,完成后隐藏此容器并再次显示第一个容器。

请参阅此 post,了解如何播放和暂停 YouTube 视频 - How to pause a YouTube player when hiding the iframe?

3) 每隔 10 分钟左右,从播放列表的 JSON 数据中获取下一个视频 link 和详细信息,并将其 link 到第二个容器暂停和隐藏第一个和播放和显示第二个。

希望通过这种方式你能达到你的要求。