首页 > 解决方案 > 延迟 Youtube 视频自动播放

问题描述

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

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

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

任何帮助,将不胜感激。

标签: youtubeautoplaydelayed-execution

解决方案


您不需要放置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>


推荐阅读