如何确定API或用户交互是否触发了onStateChange事件?

时间:2015-12-11 04:31:23

标签: javascript youtube youtube-api youtube-iframe-api

我正在使用Youtube iFrame API创建一个小应用,让您可以与其他人同步观看视频。 onStateChange事件让我知道玩家是否播放或暂停了视频,但它是否包含有关是否通过点击播放/暂停按钮通过用户触发该操作的任何信息,或者是否触发了我的应用通过player.playVideo()功能播放?

我需要知道差异所以我没有进入一个无限循环的情况,即玩家暂停,暂停事件发送给另一个人,我通过{{1}暂停视频},触发另一个player.pauseVideo()暂停事件等等。

那么,onStateChange是否告诉我事件是如何被触发的,或者我是否必须想出一种方法来自己跟踪事件的发起者?

1 个答案:

答案 0 :(得分:2)

onStateChange仅返回与播放器状态相关的整数数据。如下:

-1(未启动) 0(已结束) 1(正在播放) 2(暂停) 3(缓冲) 5(视频提示)。

因此,您需要创建一个自定义代码,以帮助识别事件的来源。由于您希望将视频与其他人同步,因此实现可以像创建全局变量一样简单。您可能需要一些服务器交互来完成此任务。