一个接一个播放Youtube视频

一个接一个播放Youtube视频,youtube,Youtube,有没有办法一个接一个地播放youtube视频,或者更好的办法是,一个接一个地播放视频序列,中间没有中断?我不确定如何使用youtube API来实现这一点,但我知道这是可以做到的。最简单的方法是使用youtube API方法来指定播放列表(查看文档)。更难的方法是自己播放视频,收听视频结束事件,然后播放下一个 关于不休息,这取决于很多事情: 互联网连接的速度 视频是否有广告 如果视频中没有广告,并且您对正在播放的视频休息时间不满意,您可以尝试在前一个视频结束前5秒提示下一个视频,然后当您观看

有没有办法一个接一个地播放youtube视频,或者更好的办法是,一个接一个地播放视频序列,中间没有中断?我不确定如何使用youtube API来实现这一点,但我知道这是可以做到的。

最简单的方法是使用youtube API方法来指定播放列表(查看文档)。更难的方法是自己播放视频,收听视频结束事件,然后播放下一个

关于不休息,这取决于很多事情:

  • 互联网连接的速度
  • 视频是否有广告

如果视频中没有广告,并且您对正在播放的视频休息时间不满意,您可以尝试在前一个视频结束前5秒提示下一个视频,然后当您观看视频完成活动时,只需将播放发送到下一个视频。要做到这一点,你必须自己对视频进行排序。

这很简单。我假设您有一系列要播放的视频ID。在onStageChange函数中,收听视频结束状态,一旦结束状态发生,从阵列中选择下一个视频并开始播放。要播放下一个视频,需要先调用loadVideoById函数,然后调用playVideo()。希望这有帮助

正如@rupps所说,你的视频能否连续播放取决于互联网速度等因素。不能预先缓冲播放列表中的所有视频


请访问本文查看示例-

我有一系列想要播放的视频ID。在onStageChange函数中,在视频结束状态下,从阵列中选择下一个视频并开始播放。在所有阵列视频结束时,它将从初始开始重新开始

<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 videoId = ['gCFpK_z0Y1o', '2XXzYCfBiAg', 'H-N2SynCSEs', '6PDBRoRFYvo'];
var player; currentVideoId = 0;
function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
        playerVars: {
            autoplay: 1,
           // loop: 1,
           // rel: 0,
           // showinfo: 0,
           // autohide: 0,
           // modestbranding: 1,

        },            
        events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
        }
    });
}
function onPlayerReady(event) {
    event.target.loadVideoById(videoId[currentVideoId]);
}

function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.ENDED) {
        currentVideoId++;
        if (currentVideoId < videoId.length) {
            player.loadVideoById(videoId[currentVideoId]);
        } else {
            currentVideoId = 0;
            event.target.loadVideoById(videoId[currentVideoId]);
        }
    }
}

var tag=document.createElement('script');
tag.src=”https://www.youtube.com/iframe_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
var videoId=['gCFpK_z0Y1o'、'2xxzycbiag'、'H-n2同步'、'6PDBRoRFYvo'];
var播放器;currentVideoId=0;
函数onyoutubeiframeapiredy(){
player=新的YT.player('player'{
playerVars:{
自动播放:1,
//循环:1,
//rel:0,
//showinfo:0,
//自动隐藏:0,
//第一,,
},            
活动:{
“onReady”:onPlayerReady,
“onStateChange”:onPlayerStateChange
}
});
}
函数onPlayerReady(事件){
event.target.loadVideoById(videoId[currentVideoId]);
}
函数onPlayerStateChange(事件){
如果(event.data==YT.PlayerState.end){
currentVideoId++;
if(当前视频ID<视频ID.长度){
loadVideoById(videoId[currentVideoId]);
}否则{
currentVideoId=0;
event.target.loadVideoById(videoId[currentVideoId]);
}
}
}