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