YouTube iframe API是否有在播放期间连续触发的事件?

时间:2014-10-07 20:50:17

标签: javascript video youtube

我正在使用YouTube iframe API来实现视频播放器。

我希望能够订阅在播放期间定期触发的事件。例如,每10秒钟,我想捕获并记录视频的当前播放时间。

iframe API会公开onPlayerReady和onStateChange等事件,但在实际播放时,他们并没有告诉我有关该视频的任何信息。

我在Google的文档中找不到任何答案。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我回答了我自己的问题 - 您可以在onStateChange iframe API事件中使用setInterval,如下所示:

function onPlayerStateChange(
    if (event.data === YT.PlayerState.PLAYING) {
        refresh_interval_id = setInterval(function () {
            var duration = videoPlayer.getDuration();
            var current_time = videoPlayer.getCurrentTime();
        }, 3000);
     } else if (event.data === YT.PlayerState.PAUSED || event.data === YT.PlayerState.ENDED) {
         clearInterval(refresh_interval_id);
    }
 }