【问题标题】:Youtube API playing next video if else statementYoutube API 播放下一个视频 if else 声明
【发布时间】:2013-01-28 16:37:48
【问题描述】:

使用 iframe youtube API,我希望使用 if else 语句在给定所选数字的情况下播放此播放列表中的某个随机视频。截至目前,它似乎给了我一些不是基于生成的随机数的重复视频。

  <script type="text/javascript">
  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',
      playerVars: {},
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange,
        'nextVideo': nextVideo,
      }
    });
  }
  // 4. The API will call this function when the video player is ready.
  function onPlayerReady(event) {   
  player.loadPlaylist({
                 list: 'mozart',
                 listType:'search',
               })   
  event.target.playVideo();
  } 

  function nextVideo() {
  var num = Math.round(Math.random() * 4);
  console.log(num);

  if (num >= 2) {
  player.nextVideo();
  player.loadPlaylist({
                 list: '90s rap',
                 listType: 'search',
               })   
   player.setShuffle(true);
   player.playVideo();

  }

  else if (num < 2) {
    player.nextVideo();
   player.loadPlaylist({
                 list: 'mozart',
                 listType:'search',
               })   
 player.setShuffle(true);
 player.playVideo();
  }
  else {}

  }

  // 5. The API calls this function when the player's state changes.
  //    The function indicates that when playing a video (state=1),

  function onPlayerStateChange(event) {

  }
  function stopVideo() {
    player.stopVideo();
  }
</script>

这里是html

<a href="javascript:nextVideo()" id="next">Next</a>

【问题讨论】:

    标签: iframe youtube-api


    【解决方案1】:

    我看到你在代码中做了一些有问题的事情。

    一般来说,您不应在代码中重复调用loadPlaylist() + setShuffle() + playVideo()。我建议在开始时拨打loadPlaylist() + setShuffle() 一次,然后每当您想播放“随机”视频时,只需拨打nextVideo()。因为播放列表已经随机播放,所以下一个视频实际上是随机的。

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 2015-09-25
      • 2016-12-17
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-21
      相关资源
      最近更新 更多