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

时间:2018-02-26 15:54:17

标签: javascript angularjs youtube youtube-api

我目前正在构建一个AngularJS应用程序(我知道它有点过时,但我对它有信心......)。

我的应用需要嵌入一个包含非常大的播放列表(大约1500个项目)的YouTube播放器,但我无法对其进行编码,以便实际嵌入超过200个项目。

我在网上搜索并用了一个月的时间来解决这个问题,但是我所读到的内容似乎都没有用,我曾经尝试过这种方法。

哦顺便说一句,我使用angular-youtube-embed来使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个项目的无聊限制,它有点无用。

提前感谢。 绝望的开发者

编辑:我制作了一个可以在播放器上重现我的实际问题/状态的侦探。

https://plnkr.co/edit/vNL0J4M2eR1P3C1IxfZs?p=preview

正如你所看到的那样,它只能在播放器中加载197个项目(我之前看到的是199,但不确定)。

至于限制来自哪里:对我而言,它绝对来自youtube iframe API(因为我无法找到有关angular-youtube-embed库中限制的任何内容)。

编辑2:在google:https://developers.google.com/youtube/youtube_player_demo?hl=fr提供的链接中,当我输入播放列表ID并尝试加载时,我遇到了同样的问题。我认为这绝对是来自youtube API并没有解决方案。我将尝试编写解决方案代码。

0 个答案:

没有答案