代码之家  ›  专栏  ›  技术社区  ›  Shazvan Hanif Fluffeh

YouTube自动播放不起作用

  •  3
  • Shazvan Hanif Fluffeh  · 技术社区  · 6 年前

    我正在使用youtube嵌入来显示视频。网站打开时我需要自动播放

    <iframe class="slider-image-mockup align-center" width="100%" height="750" src="https://www.youtube-nocookie.com/embed/Y-p828Jy8C8?rel=0&amp;controls=0&autoplay=1&loop=1&playlist=Y-p828Jy8C8&amp;showinfo=0" frameborder="0" allow="autoplay; loop; encrypted-media" allowfullscreen></iframe>
    

    我使用这个代码之前,它工作良好,但在过去的几天。自动播放不工作…

    听起来可能很疯狂,但我没有改变我的代码。 点击播放按钮后显示如下,只播放视频

    enter image description here

    2 回复  |  直到 6 年前
        1
  •  2
  •   Nikunj Kathrotiya    6 年前

        <!DOCTYPE html>
        <html>
         <body>
        <!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
        <div id="player"></div>
    
        <script>
          // 2. This code loads the IFrame Player API code asynchronously.
          var tag = document.createElement('script');
    
          tag.src = "https://www.youtube.com/iframe_api";
          var firstScriptTag = document.getElementsByTagName('script')[0];
          firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    
          // 3. This function creates an <iframe> (and YouTube player)
          //    after the API code downloads.
          var player;
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('player', {
              height: '390',
              width: '640',
              videoId: 'M7lc1UVf-VE',
              events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
              }
            });
          }
    
          // 4. The API will call this function when the video player is ready.
          function onPlayerReady(event) {
            event.target.playVideo();
          }
    
          // 5. The API calls this function when the player's state changes.
          //    The function indicates that when playing a video (state=1),
          //    the player should play for six seconds and then stop.
          var done = false;
          function onPlayerStateChange(event) {
            if (event.data == YT.PlayerState.PLAYING && !done) {
              setTimeout(stopVideo, 6000);
              done = true;
            }
          }
          function stopVideo() {
            player.stopVideo();
          }
        </script>
      </body>
    </html>