これは少し大雑把ですが、状態変更イベントをリッスンすることでタスクを実行します。プレロールが終了に近づいているときにメインビデオのキューに基づいてスマートな先読み監視を統合することで、応答性を高めることができます。しかしとにかく、これは少なくともあなたが始めるはずです:
<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>