0

我无法参考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");
}
4

1 回答 1

2

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

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

请参阅以下 url 中的 XML 格式,您可以使用 API url 中的“&alt=jsonc”以 JSON 格式获取相同的数据 - https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists#Retrieving_a_playlist

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

请参阅这篇关于如何播放和暂停 youtube 视频的帖子-隐藏 iframe 时如何暂停 YouTube 播放器?

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

我希望通过这种方式你可以达到你所需要的。

于 2015-03-03T11:15:41.857 回答