从youtube data api播放播放列表的所有视频

时间:2014-07-03 05:51:00

标签: youtube youtube-api

我可以从PlaylistItems获取视频ID并使用youtube播放器播放它们。但有什么方法可以让整个播放列表播放(一个接一个的视频,就像在youtube上)。 在youtube上任何播放列表我们都有像

这样的网址
https://www.youtube.com/watch?v=zqpkt80WbX0&list=RDaPevLsjcJ7c&index=6

我们如何获得'列表'对于任何视频?

3 个答案:

答案 0 :(得分:1)

你走错了路..你的网址应该是这样的:

String URL = "https://gdata.youtube.com/feeds/api/playlists/your_playlist_Id"; 

在此之后你要解析它。它既有json也有xml。 在Json中,您的播放列表网址为:

https://gdata.youtube.com/feeds/api/playlists/RDaPevLsjcJ7c?v=2&alt=json

还有更多问题..

答案 1 :(得分:1)

我假设您已经拥有播放列表ID?因此,如果您只是尝试使用iframe嵌入,则可以设置iframe的来源以查看播放列表,如下所示:

<iframe width="560" height="315" src="http://www.youtube.com/embed?listType=playlist&amp;list=RDaPevLsjcJ7c" frameborder="0" allowfullscreen></iframe>

这将使用YouTube的嵌入式播放列表播放器,其中左上角为您提供播放列表控件,媒体栏有跳过按钮,自动播放到下一个视频等等。它是一个不同的界面比你在YouTube.com网站上看到的要好,但它仍然很好。

如果您希望获得比iframe更多的控制权,您可以使用YouTube播放器API的播放列表功能挂钩到播放列表 - 然后您可以加载新的播放列表如果您&# 39;喜欢,或跟踪索引。这里有一些示例说明了这样的功能(只是演示代码......您想调整以满足您的需求):

<html>
<head>
</head>
<body>
<iframe id="player" width="560" height="315" src="http://www.youtube.com/embed?listType=playlist&amp;list=RDaPevLsjcJ7c&enablejsapi=1&origin=http://humdev.byu.edu" frameborder="0" allowfullscreen></iframe>
<script>
 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('player', {
    height: '390',
    width: '640',
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    },

  });
}

onPlayerReady = function() {
        player.loadPlaylist('PL028565C616627F50');
};

onPlayerStateChange = function(evt) {
        console.log(evt);
        if (evt.data === YT.PlayerState.PLAYING) {
                alert(player.getPlaylistIndex());
        }
};
</script>
</body>
</html>

(顺便说一句,需要注意的一点是,您可以使用&#39; loadPlaylist&#39;方法传入常规视频ID而不是播放列表ID ...并且它会生成播放列表带有播放列表播放器界面的单个视频。不知道什么时候有用,但它有效!)

最后,知道在使用播放器API时,如果你想动态构建自己的播放列表,你可以这样做,并且仍然使用可嵌入的播放列表播放器;只需传入一个播放列表&#39;在构造播放器对象时带有逗号分隔的videoID列表的参数,如下所示:

 function onYouTubeIframeAPIReady() {
  var player;
  player = new YT.Player('player', {
    videoId: 'M7lc1UVf-VE',
    playerVars: { 'autoplay': 1, 'playlist': 'yCjJyiqpAuU,GoSq-yZcJ-4' },
  });
}

答案 2 :(得分:0)

我使用了以下intent-metho

Intent videoint = YouTubeStandalonePlayer.createPlaylistIntent(MyActivity.this, KEY,
                                playlistID, position, 0, true, false);
startActivityForResult(videoint,STANDALONE_PLAYER_REQUEST_CODE);