【问题标题】:Youtube iframes in Bootstrap Carousel - stop video on slideBootstrap Carousel 中的 Youtube iframe - 在幻灯片上停止视频
【发布时间】:2013-07-05 01:31:03
【问题描述】:

我在一个页面上有一堆轮播,每个轮播都包含视频和图像。当用户通过单击一个轮播控件(左或右)退出视频时,我想停止播放 Youtube 视频。

我希望能够检测用户何时单击控件,根据当前正在播放的视频创建播放器,然后关闭该视频。在我看到的其他示例中,播放器是在 onYoutubeIframeAPIReady 函数中声明的,但我认为最好不要为页面上的每个视频动态创建播放器。现在,我得到了错误

Uncaught TypeError: Object #<T> has no method 'stopVideo' 

当我单击轮播控件时。但是,如果我输入

player.stopVideo();

在 Chrome javascript 控制台中,它工作正常。我做错了什么?

  <script>
  var youtubeReady = false;

  function onYouTubeIframeAPIReady(){
    youtubeReady = true;
  }

  $('.carousel').on('slide', function(){
    if(youtubeReady){
      console.log("setting player");
      var iframeID = $(this).find('.active').find('iframe').attr("id");
      player = new YT.Player(iframeID); 
      player.stopVideo(); 
    }
  });
  </script>

示例轮播:

<div class="mainPhoto carousel slide 523" id="carousel-523">
          <div class="carousel-inner 523">
          <div class="item active">
             <div class="flex-video">
                 <a class="fancybox" href="http://www.youtube.com/embed/4pEqbs0ISaw?version=3&amp;enablejsapi=1" rel="gallery 523" data-fancybox-type="iframe">
                     <iframe src="http://www.youtube.com/embed/4pEqbs0ISaw?version=3&amp;enablejsapi=1" id="1188">
                     </iframe>
                 </a>
             </div>
         </div>
        <div class="item">
             <a class="fancybox" href="https://buildinprogress.s3.amazonaws.com/image/image_path/1189/2013-07-05_19.47.55.jpg" rel="gallery 523" data-fancybox-type="image">
                 <img alt="Preview_2013-07-05_19.47.55" id="1189" src="https://buildinprogress.s3.amazonaws.com/image/image_path/1189/preview_2013-07-05_19.47.55.jpg" width="100%">
            </a>
        </div>
    </div>
            <a class="carousel-control left" href="#carousel-523" data-slide="prev" style="display: none;">‹</a>
            <a class="carousel-control right" href="#carousel-523" data-slide="next" style="display: none;">›</a>
        </div>

【问题讨论】:

    标签: twitter-bootstrap youtube-api carousel


    【解决方案1】:

    我最终在这里使用了 callPlayer 函数(根本不需要使用 youtube API):

    YouTube iframe API: how do I control a iframe player that's already in the HTML?

    【讨论】:

      猜你喜欢
      • 2017-10-08
      • 2012-07-11
      • 2015-04-06
      • 2012-07-02
      • 2021-02-19
      • 1970-01-01
      • 2017-02-20
      • 1970-01-01
      • 2017-06-22
      相关资源
      最近更新 更多