我正在查看onStateChange的文档,但即使用户将向左或向右拖动播放器计时器,我也找不到任何内容。事实上,当我这样做时,onStateChange并没有抓到任何东西。
这来自文档:
https://developers.google.com/youtube/iframe_api_reference
只要玩家的状态发生变化,此事件就会触发。 API传递给事件侦听器函数的事件对象的data属性将指定与新播放器状态对应的整数。可能的值有:
-1 (unstarted)
0 (ended)
1 (playing)
2 (paused)
3 (buffering)f
5 (video cued).
当玩家首次加载视频时,它将播放未启动的(-1)事件。当视频被提示并准备播放时,播放器将播放视频提示(5)事件。在您的代码中,您可以指定整数值,也可以使用以下命名空间变量之一:
YT.PlayerState.ENDED
YT.PlayerState.PLAYING
YT.PlayerState.PAUSED
YT.PlayerState.BUFFERING
YT.PlayerState.CUED
但是当你尝试分享视频时Youtube以某种方式做到了!转到YouTube视频,然后单击共享按钮,然后在尝试拖动播放器的计时器时查看“开始时间”文本字段。使用播放器的getCurrentTime更新文本字段。 Youtube是怎么做到的?
答案 0 :(得分:1)
看来YouTube确实没有这样的事件监听器......或者至少我找不到一个。 因此,我使用setInterval连续调用getCurrentTime()API调用。如果有更好的方法,请告诉我。 THX
function onPlayerStateChange(event) {
timeInterval = setInterval(function() {
setCurntTime( txtBox, event.target.getCurrentTime() )
}, 1500);
}