如何使用loadPlaylist
选项以便自动播放下一个视频?
我的代码是这样的,但它不起作用,无法播放视频:
<div id="player"></div>
<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',
loadPlaylist:{
listType:'playlist',
list:['4Ivdp8kj_0U','4MJRS-cLozU'],
index:parseInt(0),
suggestedQuality:'small'
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
event.target.playVideo();
}
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
// setTimeout(stopVideo, 60000);
done = true;
}
}
function stopVideo() {
player.stopVideo();
}
</script>
我想达到这个例子的效果: http://www.youtube.com/watch?v=0DdCoNbbRvQ&list=RD02_VTY8ftr1vY
非常感谢。
答案 0 :(得分:5)
我昨天遇到了这个问题。首先,在onPlayerReady
函数中,您需要调用loadPlaylist
,因为这会定位播放列表并开始播放。
但是,我遇到的问题是在调用由视频ID数组组成的播放列表时使用对象语法,我会收到错误。经过一些谷歌搜索,我发现这个Stack Overflow question建议使用参数语法,似乎解决了它。请参阅此处的差异:https://developers.google.com/youtube/js_api_reference#Playlist_Queueing_Functions
我接受了您的代码并更改了onPlayerReady
以使用带有参数语法的loadPlaylist
函数,现在它可以正常工作。请参见jsfiddle:http://jsfiddle.net/rustybailey/9kFyx/
答案 1 :(得分:0)
index:parseInt(0)
- 此参数不是必需的:
默认情况下,列表中的索引是0