YouTube API 播放列表随机播放不起作用?

use*_*331 6 javascript youtube-api

我一直在尝试设置我的 youtube api 来随机播放我的播放列表,但顺序始终相同......

这是我从https://developers.google.com/youtube/iframe_api_reference#setShuffle获取代码的链接

我这样说对吗?

这是我的代码如下

<div id="player"></div>

<script>

  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',
      events: {
        'onReady': onPlayerReady
      }

    });
  }



  function onPlayerReady(event) {
    player.loadPlaylist({'listType': 'playlist', 'list': 'PLF776D41D8211F340','index': '0','startSeconds': '0','suggestedQuality': 'hd720'});
    player.setShuffle({'shufflePlaylist' : 1});

  }

</script>
Run Code Online (Sandbox Code Playgroud)

我尝试将 shufflePlaylist 设置为“true”,我尝试过cueplaylist 而不是loadplaylist,我什至尝试将shufflePlaylist 放入加载播放列表中...没有任何内容被洗牌。

我查了一下,发现这是 API 的问题,但那是 2 年前的事了,这个问题有解决方案吗?

以下是我尝试过但没有成功的

player.setShuffle(1);
        player.setShuffle('1');
        player.setShuffle(true);
        player.setShuffle('true');
        player.setShuffle({'shufflePlaylist' : true});
        player.setShuffle({'shufflePlaylist' : 1});
        player.setShuffle({'shufflePlaylist' : 'true'});
        player.setShuffle({'shufflePlaylist' : '1'});
Run Code Online (Sandbox Code Playgroud)

我还尝试从这里复制和示例... https://developers.google.com/youtube/youtube_player_demo

加载播放列表并单击按钮后,随机播放将在此处运行。

cdr*_*rev 3

这是一个尚未修复的已知错误 - 请参阅这篇文章

然而,解决方法是将随机数传递给playVideoAt,如下所示:

var getRandom = function(min, max) {
  return Math.random() * (max - min) + min;
};

var playRandomTrack = function() {
  num = getRandom(0, 99);
  player.playVideoAt(num);  
};
Run Code Online (Sandbox Code Playgroud)