延迟 Youtube 视频自动播放

问题描述

我想延迟 YouTube 视频的自动播放。我的视频目前会在页面加载后立即自动播放。这是我正在使用的 iframe 代码

iframe allow="加速度计;自动播放;剪贴板写入;加密媒体;陀螺仪;画中画" allowfullscreen="" frameborder="0" height="315" src="#videolink#?autoplay= 1&controls=0" title="YouTube 视频播放器" width="560">

但是,由于页面加载时的视频加载,开始时间似乎总是略有延迟。为了控制视频的开始时间点,我试图找出一种将自动播放开始延迟 5 秒的方法。我阅读了有关在 javascript 中使用超时函数的帖子,但不完全确定要放入其中的行。

任何帮助将不胜感激。

解决方法

您现在不需要放置 iframe,以下代码将在 5 秒后自动播放视频。 Stack Overflow 没有播放视频,您可以保存并手动尝试。

<div id="ytplayer"></div>
<script>
  var tag = document.createElement('script');
  tag.src = "https://www.youtube.com/player_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);
  var player;
  function onYouTubePlayerAPIReady() {
    player = new YT.Player('ytplayer',{
      height: '360',width: '640',videoId: '668nUCeBHyY' //Place the video id here
    });
  }
  setTimeout(function() {
        player.playVideo();
    },5000);
      var tag = document.createElement('script');
      tag.src = "https://www.youtube.com/player_api";
      var firstScriptTag = document.getElementsByTagName('script')[0];
      firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);

</script>