Youtube API;洗牌播放列表?
因此,有一段时间,我正在尝试使用youtube api制作一个合适的随机播放脚本,以便播放我的youtube播放列表。 我已经找到了很多例子,但似乎没有一个效果很好。有些人洗牌列表,但不是第一首歌曲正在播放,有些人做的恰恰相反 我想要的是洗牌完整的播放列表,然后开始播放。因此,第一首播放的歌曲应该是随机的,下一首播放的歌曲也应该是随机/随机播放的 我找到下面的脚本来洗牌播放列表。但是,播放的第一首歌不会被洗牌。有人能帮我解决这个问题吗? 万分感谢Youtube API;洗牌播放列表?,youtube,youtube-api,shuffle,Youtube,Youtube Api,Shuffle,因此,有一段时间,我正在尝试使用youtube api制作一个合适的随机播放脚本,以便播放我的youtube播放列表。 我已经找到了很多例子,但似乎没有一个效果很好。有些人洗牌列表,但不是第一首歌曲正在播放,有些人做的恰恰相反 我想要的是洗牌完整的播放列表,然后开始播放。因此,第一首播放的歌曲应该是随机的,下一首播放的歌曲也应该是随机/随机播放的 我找到下面的脚本来洗牌播放列表。但是,播放的第一首歌不会被洗牌。有人能帮我解决这个问题吗? 万分感谢 <html> <body&
<html>
<body>
<div id="player"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
function onYouTubeIframeAPIReady() {
var player = new YT.Player("player", {
height: '390',
width: '640',
events: {
'onReady': function (event) {
event.target.cuePlaylist({list: "PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT"});
event.target.playVideo();
setTimeout(function() {
event.target.setShuffle({'shufflePlaylist' : true});
}, 1000);
}
}
});
}
</script>
</body>
</html>
// 2. 此代码异步加载IFrame播放器API代码。
var tag=document.createElement('script');
tag.src=”https://www.youtube.com/iframe_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
// 3. 此函数用于创建(和YouTube播放器)
//API代码下载后。
函数onyoutubeiframeapiredy(){
var player=新的YT.player(“player”{
高度:“390”,
宽度:“640”,
活动:{
“onReady”:函数(事件){
event.target.cuePlaylist({list:“PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT”});
event.target.playVideo();
setTimeout(函数(){
event.target.setShuffle({'shufflePlaylist':true});
}, 1000);
}
}
});
}
这对我很有效
<html>
<body>
<div id="player"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
function onYouTubeIframeAPIReady() {
var numPl = Math.floor((Math.random() * 50) + 1);
var player = new YT.Player("player", {
height: '390',
width: '640',
playerVars: {
listType:'playlist',
list:'PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT',
index: numPl,
autoplay: 1,
},
events: {
'onReady': function (event) {
//event.target.cuePlaylist({list: "PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT"});
//event.target.playVideo();
setTimeout(function() {
event.target.setShuffle({'shufflePlaylist' : true});
}, 1000);
}
}
});
}
</script>
</body>
</html>
// 2. 此代码异步加载IFrame播放器API代码。
var tag=document.createElement('script');
tag.src=”https://www.youtube.com/iframe_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
// 3. 此函数用于创建(和YouTube播放器)
//API代码下载后。
函数onyoutubeiframeapiredy(){
var numPl=Math.floor((Math.random()*50)+1);
var player=新的YT.player(“player”{
高度:“390”,
宽度:“640”,
playerVars:{
列表类型:'playlist',
列表:'PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT',
索引:numPl,
自动播放:1,
},
活动:{
“onReady”:函数(事件){
//event.target.cuePlaylist({list:“PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT”});
//event.target.playVideo();
setTimeout(函数(){
event.target.setShuffle({'shufflePlaylist':true});
}, 1000);
}
}
});
}
这对我很有效
<html>
<body>
<div id="player"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
function onYouTubeIframeAPIReady() {
var numPl = Math.floor((Math.random() * 50) + 1);
var player = new YT.Player("player", {
height: '390',
width: '640',
playerVars: {
listType:'playlist',
list:'PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT',
index: numPl,
autoplay: 1,
},
events: {
'onReady': function (event) {
//event.target.cuePlaylist({list: "PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT"});
//event.target.playVideo();
setTimeout(function() {
event.target.setShuffle({'shufflePlaylist' : true});
}, 1000);
}
}
});
}
</script>
</body>
</html>
// 2. 此代码异步加载IFrame播放器API代码。
var tag=document.createElement('script');
tag.src=”https://www.youtube.com/iframe_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
// 3. 此函数用于创建(和YouTube播放器)
//API代码下载后。
函数onyoutubeiframeapiredy(){
var numPl=Math.floor((Math.random()*50)+1);
var player=新的YT.player(“player”{
高度:“390”,
宽度:“640”,
playerVars:{
列表类型:'playlist',
列表:'PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT',
索引:numPl,
自动播放:1,
},
活动:{
“onReady”:函数(事件){
//event.target.cuePlaylist({list:“PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT”});
//event.target.playVideo();
setTimeout(函数(){
event.target.setShuffle({'shufflePlaylist':true});
}, 1000);
}
}
});
}
这使用youtube api工作。youtube用户创建了播放列表。每次刷新页面时,将播放列表洗牌为新顺序
// 2. 此代码异步加载IFrame播放器API代码。
var tag=document.createElement('script');
tag.src=”https://www.youtube.com/iframe_api";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
// 3. 此函数用于创建(和YouTube播放器)
//API代码下载后。
var播放器;
函数onyoutubeiframeapiredy(){
player=新的YT.player('player'{
playerVars:{
自动播放:0,
循环:1,
控制:1,
展示信息:1,
框架边界:1,
'列表类型':'播放列表',
'列表':“PLo16_DLriHp4A8BvkJFZfO_4kdv7yggy”//此处是您的YouTube播放列表id
},
活动:{
“onReady”:onPlayerReady,
“onStateChange”:onPlayerStateChange
}
});
}
// 4. 当视频播放器准备就绪时,API将调用此函数。
函数onPlayerReady(事件){
//第一个洗牌播放列表
player.setShuffle(真);
//Onload和on refresh会洗牌用户的YT播放列表,但始终会开始播放
//原始列表中新索引p处的第一个视频