2011-02-25 120 views
9

我正在尝试使用此JavaScript API在今年1月推出的iframe嵌入中播放youtube播放列表。 http://apiblog.youtube.com/2011/01/introducing-javascript-player-api-for.html如何使用YouTube JavaScript API播放播放列表

请注意下面的iframe标记以及用“/ p”表示其播放列表的链接。

<iframe src="http://www.youtube.com/embed/p/ID" width="100%" height="500" frameborder="0"></iframe> 

但是,即使该文件在http://code.google.com/apis/youtube/iframe_api_reference.html,我无法找到我怎么能起到使用onYouTubePlayerAPIReady()调用播放列表。

回答

11

我找到了答案。

只需向您的playerVars和播放列表String | Array添加“播放列表”即可。

playerVars:{ '自动播放':0, '控制':1, '播放列表':[ 'your_video_id', '...']},

赞德示例下面:

var player; 
function onYouTubePlayerAPIReady() { 
player = new YT.Player('player', { 
    height: '390', 
    width: '640', 
    videoId: 'your_video_id', 
    playerVars: { 'autoplay': 0, 'controls': 1, 'playlist':['your_video_id', '...']}, 
    events: { 
    'onReady': onPlayerReady, 
    'onStateChange': onPlayerStateChange 
    } 
}); 
} 
+1

如何播放播放列表ID? – 2011-11-19 00:30:22

+0

前段时间我改变了主意,停下来使用上面的IFrame API。我更改为[JavaScript API](https://developers.google.com/youtube/js_api_reference)我直接从YouTube播放器网址加载播放列表:'swfobject.embedSWF(“http://www.youtube.com/v/ VIDEO_ID?enablejsapi = 1&playerapiid = ytplayer&version = 3 ...&playlist = yourPlayList ...'让播放器管理视频 – Moreno 2012-03-15 19:50:36

+0

@Moreno:切换回iframe,特别是如果你想让你的视频在移动设备上工作 – 2013-03-20 18:30:03

3

一个简单的解决方案,它不需要的YouTube的IFrame(JavaScript的)API是在 Embed YouTube Videos, Playlists and More with IFrame Embeds讨论。您可以从YouTube上的视频之一复制视频嵌入代码(iframe的版本),并调整它是这样的:

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

注意,没有视频ID ......相反,listTypelist参数指示播放器加载播放列表。根据您的特定要求,请添加autoplay=1以确保视频在不需要JavaScript代码的情况下自动播放。

25

由于使用播放列表ID(即不对视频列表进行硬编码)播放列表没有提供适当的答案,因此如果您仍然希望使用Javascript Youtube IFrame API,则可以使用此方法。

function onYouTubePlayerAPIReady() 
{ 
     player = new YT.Player('player', 
     { 
      height: '390', 
      width: '640', 
      playerVars: 
      { 
      listType:'playlist', 
      list: '<YOURPLAYLISTID>' 
      } 
     }); 
} 

希望它可以帮助谁在寻找它(因为我):如果在playerVars指定播放列表ID如下可以省略VideoID的。

+1

我需要,谢谢你用了很长时间试图解决如何通过ID加载播放列表而无需首先加载视频 – BigglesZX 2012-10-29 11:31:38

+0

请将此回复添加为已接受@kees – 2015-03-18 08:44:01

+0

这是否会产生任何配额,或者它是否为0配额指令? – shell 2016-09-07 02:20:15

相关问题