Iframe Youtube API播放下一个视频if else语句
使用iframe-youtube-API,我希望这个if-else语句在给定所选数字的情况下播放此播放列表中的某个随机视频。到目前为止,它似乎给了我一些重复的视频不是基于随机数生成的Iframe Youtube API播放下一个视频if else语句,iframe,youtube-api,Iframe,Youtube Api,使用iframe-youtube-API,我希望这个if-else语句在给定所选数字的情况下播放此播放列表中的某个随机视频。到目前为止,它似乎给了我一些重复的视频不是基于随机数生成的 <script type="text/javascript"> var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag =
<script type="text/javascript">
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',
playerVars: {},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'nextVideo': nextVideo,
}
});
}
// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
player.loadPlaylist({
list: 'mozart',
listType:'search',
})
event.target.playVideo();
}
function nextVideo() {
var num = Math.round(Math.random() * 4);
console.log(num);
if (num >= 2) {
player.nextVideo();
player.loadPlaylist({
list: '90s rap',
listType: 'search',
})
player.setShuffle(true);
player.playVideo();
}
else if (num < 2) {
player.nextVideo();
player.loadPlaylist({
list: 'mozart',
listType:'search',
})
player.setShuffle(true);
player.playVideo();
}
else {}
}
// 5. The API calls this function when the player's state changes.
// The function indicates that when playing a video (state=1),
function onPlayerStateChange(event) {
}
function stopVideo() {
player.stopVideo();
}
</script>
var tag=document.createElement('script');
tag.src=”https://www.youtube.com/iframe_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
var播放器;
函数onyoutubeiframeapiredy(){
player=新的YT.player(
“玩家”{
高度:“390”,
宽度:“640”,
PlayerBars:{},
活动:{
“onReady”:onPlayerReady,
“onStateChange”:onPlayerStateChange,
“nextVideo”:nextVideo,
}
});
}
// 4. 当视频播放器准备就绪时,API将调用此函数。
函数onPlayerReady(事件){
player.loadPlaylist({
名单:“莫扎特”,
列表类型:'搜索',
})
event.target.playVideo();
}
函数nextVideo(){
var num=Math.round(Math.random()*4);
console.log(num);
如果(数值>=2){
player.nextVideo();
player.loadPlaylist({
列表:“90年代说唱”,
listType:'搜索',
})
player.setShuffle(真);
player.playVideo();
}
else if(num<2){
player.nextVideo();
player.loadPlaylist({
名单:“莫扎特”,
列表类型:'搜索',
})
player.setShuffle(真);
player.playVideo();
}
else{}
}
// 5. 当播放器的状态改变时,API调用此函数。
//该功能指示播放视频时(状态=1),
函数onPlayerStateChange(事件){
}
函数stopVideo(){
player.stopVideo();
}
这是html
<a href="javascript:nextVideo()" id="next">Next</a>
我看到您在代码中做了一些有问题的事情 通常,您不应该在代码中重复调用
loadPlaylist()
+setShuffle()
+playVideo()
。我建议您在开始时调用loadPlaylist()
+setShuffle()
一次,然后每当您想播放“随机”视频时,只需调用nextVideo()
。因为播放列表已经被洗牌,下一个视频实际上是随机的