使用YouTube API继续更新



HTML5视频支持ontimeupdate事件;在YouTube API中是否有一个等价物没有在文档中列出,或者只是我不知道?我试过用setInterval方法每隔n毫秒检查一次,但之后我必须检查视频是否正在播放,等等。有人处理过这个问题吗?

根据文档,没有这样的事件(我想您也知道这一点)。其他答案也说明了这一点,就我在代码示例中看到的而言,没有直接的等价物。即使在一些代码示例中(查看入门代码),它们也依赖于setTimeout,以便在视频开始后6秒执行某些操作。

有些人找到了解决办法,例如在这个答案中,他们创建了一个计时器,这样他们实际上可以每X毫秒启动一次时间检查:

function onPlayerReady() {
  function updateTime() {
    var oldTime = videotime;
    if(player && player.getCurrentTime) {
      videotime = player.getCurrentTime();
    }
    if(videotime !== oldTime) {
      onProgress(videotime);
    }
  }
  timeupdater = setInterval(updateTime, 100);
}

通过这种方式,您可以实际模拟事件时间更新,您只需要清除状态更改时的超时(如果它停止了,您不想连续调用该函数)。

有些人创建了一个YouTube播放器API包装器,如HTML5视频API。在那一个你实际上是在访问嵌入式Youtube视频中的HTML5视频API。

我不确定Youtube API的路线图,但他们可能会转向更通用和标准的API,与当前的HTML5视频兼容,但在此之前,我希望我的答案能帮助您

最新更新