Javascript AngularJS Youtube播放器嵌入非常大的播放列表
我目前正在开发一个AngularJS应用程序(我知道它有点过时,但我对此很有信心) 我的应用程序需要嵌入一个youtube播放器,其中包含一个非常大的播放列表(大约1500个项目),但我无法对其进行编码,这样它实际上可以嵌入200多个项目 为了解决这个问题,我在网上搜索了整整一个月,但我读到的东西似乎都不管用,我几乎尝试了我能想到的一切 哦,顺便说一句,我使用AngularYouTube嵌入使youtube api与AngularJS一起工作 这是我在控制器中关于如何构建播放器的代码Javascript AngularJS Youtube播放器嵌入非常大的播放列表,javascript,angularjs,youtube,youtube-api,Javascript,Angularjs,Youtube,Youtube Api,我目前正在开发一个AngularJS应用程序(我知道它有点过时,但我对此很有信心) 我的应用程序需要嵌入一个youtube播放器,其中包含一个非常大的播放列表(大约1500个项目),但我无法对其进行编码,这样它实际上可以嵌入200多个项目 为了解决这个问题,我在网上搜索了整整一个月,但我读到的东西似乎都不管用,我几乎尝试了我能想到的一切 哦,顺便说一句,我使用AngularYouTube嵌入使youtube api与AngularJS一起工作 这是我在控制器中关于如何构建播放器的代码 con
const home = this;
var inter = false;
var playlistArray;
var playListArrayLength;
var maxNumber;
var oldNumber = 0;
var NewNumber = 0;
home.playerVars = {
list: 'LLRmPG23-ao586bxbZFPpvmw',
rel : "0",
loop : "1",
origin : "http://www.youtube.com"
};
home.prsAction = function() {
playlistArray = home.bestPlayer.getPlaylist();
if (!inter){
playlistArray = home.bestPlayer.getPlaylist();
playListArrayLength = playlistArray.length;
maxNumber = playListArrayLength;
NewNumber = home.newRandomNumber();
home.bestPlayer.setShuffle(playlistArray)
home.bestPlayer.playVideoAt(home.newRandomNumber());
//home.bestPlayer.playVideo();
inter = true;
}else if(inter){
home.bestPlayer.stopVideo();
inter = false;
}
}
home.newRandomNumber = function() {
oldNumber = NewNumber;
NewNumber = Math.floor(Math.random() * maxNumber);
return NewNumber;
}
这里的一些行是为了让播放器播放列表的随机视频,并在播放器上产生引导折叠效果,所以不要注意它们
下面是我如何调用HTML部分中的播放器
<youtube-video id="player" player-vars="home.playerVars" player="home.bestPlayer" ng-model="home.bestPlayer"></youtube-video>
我真的需要让它工作,所以如果有人有什么想法,不要犹豫
我可以制作一个弹弓或小提琴来复制这个案例,但因为我没有任何错误或任何东西,只有200个项目的无聊限制,所以它有点没用
谢谢,这是事先准备好的。绝望的开发者
编辑:我制作了一个plunker,在播放器上再现了我的实际问题/状态
正如你在上面看到的那样,它只在玩家身上加载了197个项目(我比列夫认为它在几次之前是199个,但不确定)
至于限制从何而来:对我来说,它完全来自youtube iframe API(因为我在youtube嵌入库中找不到任何关于限制的信息)
编辑2:在谷歌提供的链接中:当我输入我的播放列表ID并尝试加载它时,我遇到了同样的问题。我猜想这是来自youtube API的明确承诺,没有解决方案。我将尝试编写一个变通解决方案。有助于了解实际问题,特别是当它是一个与性能相关的问题时(我认为这是一个问题,但举个例子会有所帮助)。有很多“无限”或“虚拟”滚动条选项,但我并不完全清楚这是否是你想要的。如果你知道,你应该更准确地说明谁设定了200个项目的限制(或者说,如果你不知道,你不知道,但从你说的你似乎知道)在你的问题和要求之后,我编辑了我的帖子,你可以找到更多的信息。如果我能确定其他任何事情,请不要犹豫!我真的需要一个答案,所以我会精确地回答我的问题^^^所以没有人能回答我的问题?:/@DylanTuna如果你还在寻找解决方案,我的建议是在中发布一个条目——这是超越堆栈溢出的,这是YouTube及其API的功能请求。