获得当前嵌入iframe youtube播放器的时间

Getting current time of embedded iframe youtube player?

本文关键字:youtube 播放器 时间 iframe      更新时间:2023-09-26

我尝试了如下方法:

<iframe id="player" style="position: relative; height: 220px; width: 400px" src="http://www.youtube.com/embed/7a_CVFRqYv4?rel=0&amp;enablejsapi=1"></iframe>
脚本

var player;
function onYouTubePlayerAPIReady() {player = new YT.Player('player');}

这里我想这样的动作,当播放器的时间达到6秒,我想改变iframe的src .

这个线程描述了如何使用YouTube API获取当前YouTube视频时间

然后可以使用setInterval()每秒钟运行一次,从API检查getCurrentTime()的值,如果value = 6,则将src设置为新视频

这个问题应该用setInterval()解决,而不是setTimeout()

使用最新的youtube iFrame API:

var player;
var checkInt; // save this as a var in this scope so we can clear it later
function onYouTubePlayerAPIReady() {
   player = new YT.Player('player');
   startInterval()
}
function startInterval() {
   //checks every 100ms to see if the video has reached 6s
   checkInt = setInterval(function() {
      if (player.getCurrentTime() > 6) {
         changeSrc();
         clearInterval(checkInt);
      };
   }, 100)
}
function changeSrc() {
   player.loadVideoById(xxxxx);
}

在视频开始播放时调用下面的函数

function StartVideo(){
setTimeout("ChangeLinkUrl()", 6000);
}
function ChangeLinkUrl(){
var elem = document.getElementById('YourFrameID');
 elem.src = "newSorceURL";
}