我可以从PlaylistItems获取视频ID并使用youtube播放器播放它们。但有什么方法可以让整个播放列表播放(一个接一个的视频,就像在youtube上)。 在youtube上任何播放列表我们都有像
这样的网址https://www.youtube.com/watch?v=zqpkt80WbX0&list=RDaPevLsjcJ7c&index=6
我们如何获得'列表'对于任何视频?
答案 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&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&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);