Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS Youtube播放器嵌入非常大的播放列表_Javascript_Angularjs_Youtube_Youtube Api - Fatal编程技术网

Javascript AngularJS Youtube播放器嵌入非常大的播放列表

Javascript AngularJS Youtube播放器嵌入非常大的播放列表,javascript,angularjs,youtube,youtube-api,Javascript,Angularjs,Youtube,Youtube Api,我目前正在开发一个AngularJS应用程序(我知道它有点过时,但我对此很有信心) 我的应用程序需要嵌入一个youtube播放器,其中包含一个非常大的播放列表(大约1500个项目),但我无法对其进行编码,这样它实际上可以嵌入200多个项目 为了解决这个问题,我在网上搜索了整整一个月,但我读到的东西似乎都不管用,我几乎尝试了我能想到的一切 哦,顺便说一句,我使用AngularYouTube嵌入使youtube api与AngularJS一起工作 这是我在控制器中关于如何构建播放器的代码 con

我目前正在开发一个AngularJS应用程序(我知道它有点过时,但我对此很有信心)

我的应用程序需要嵌入一个youtube播放器,其中包含一个非常大的播放列表(大约1500个项目),但我无法对其进行编码,这样它实际上可以嵌入200多个项目

为了解决这个问题,我在网上搜索了整整一个月,但我读到的东西似乎都不管用,我几乎尝试了我能想到的一切

哦,顺便说一句,我使用AngularYouTube嵌入使youtube api与AngularJS一起工作

这是我在控制器中关于如何构建播放器的代码

  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的功能请求。