微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的YouTube Iframe API视频关闭?

如何解决为什么我的YouTube Iframe API视频关闭?

YouTube Iframe API 出现问题。我有一个滑动滑块,其中包含来自YouTube的图片和视频。一张幻灯片-一部视频或一张图片。光滑有点并且可以拖动。我正在尝试编写功能:视频在幻灯片处于活动状态时开始播放。无需点击“播放”按钮-它会在我自动打开幻灯片时启动。 我的问题是我的视频开始了,是的。但它也会在一秒钟后关闭而且,它不会在换幻灯片自动播放。谁能告诉我我做错了什么?预先感谢。

<div class="video-banner" id="{{ yt }}" data-ytid="{{ yt }}"></div>
(function($){
      window.onYouTubeIframeAPIReady = function() {
        $('.video-banner').each(function() {
          yt_id = $(this).data("ytid");
          playerInfo.push({ "id": yt_id,'videoId': yt_id,'slick_id': $(this).closest('.slick-slide').data('slick-index') });
        });
  
        for (var i = 0; i < playerInfo.length; i++) {
          var curplayer = createPlayer(playerInfo[i]);
          players[i] = curplayer;
        }
      }

      function getParameterByName(name,url) {
        if (!url) url = window.location.href;
        name = name.replace(/[\[\]]/g,'\\$&');
        var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),results = regex.exec(url);
        if (!results) return null;
        if (!results[2]) return '';
        return decodeURIComponent(results[2].replace(/\+/g,' '));
      }
  
      function createPlayer(playerInfo) {
        return new YT.Player(playerInfo.id,{
          videoId: playerInfo.videoId,host: 'https://www.youtube.com',width: '100%',height: 500,playerVars: {
            autoplay: 0,},events: {
            'onReady': onPlayerReady,'onStateChange': onPlayerStateChange
          },});
      }
      
      function onPlayerReady(event) {
        if (window.location.href.indexOf("?yt=") > -1) {
          if (getParameterByName('yt') == event.target.getVideoData().video_id) {
            event.target.playVideo();
          }
        }
      }
  
      $(slider).on('afterChange',function(event,slick,currentSlide,nextSlide) {
        for (var i = 0; i < playerInfo.length; i++) {
          if (playerInfo[i].slick_id == currentSlide) {
            if (typeof players[i].playVideo === "function")
              players[i].playVideo();
          }
        }
      });
    
    });
}(jQuery))

解决方法

问题是视频未静音。浏览器有时会阻止iframe而不会发出静音的声音。 另一方面:我使用的是Chrome,请参见:YouTube-iFrame-API doesn't work on Chrome v.72

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。