我想在同一个播放器中播放两个不同的YouTube视频,第一个视频在第二个播放前播放(作为前贴片广告)。自定义播放列表排序仅包含两个视频。
我真正需要的是当播放器处于空闲状态时,它必须显示主视频(第二个)的图像,而不是前贴片。
所以,我认为我必须使用youtube api加载主视频,然后停止它,然后加载前贴片,然后播放前贴片播放主视频然后停止。
我尝试复制/粘贴相同的代码来实现这些任务,但我陷入其中。有人可以给我一个有效的例子吗?或者,至少一些建议?非常感谢。
答案 0 :(得分:1)
这有点粗糙,但是通过听取状态变化事件来完成你的任务;通过在预卷接近完成时基于提示主视频集成一些智能先行监控,您可以使其响应更快。但无论如何,这至少应该让你开始:
<div id="player"></div>
<script>
var seenPreroll=false;
var preroll='rl1qKqlYy8M';
var mainfeature='u1zgFlCw8Aw';
var playingId='';
var tag = document.createElement('script');
tag.src = "//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',
videoId: mainfeature,
events: {
'onStateChange': function(event) {
if (event.data==1&&seenPreroll==false) {
player.pauseVideo();
player.loadVideoById(preroll);
playingId=preroll;
seenPreroll=true;
player.playVideo();
}
else if (event.data==0&&playingId==preroll) {
player.loadVideoById(mainfeature);
playingId=mainfeature;
player.playVideo();
}
}
}
});
}
</script>