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

Javascript 如何确定onStateChange事件是否由API或用户交互触发?,javascript,youtube,youtube-api,youtube-iframe-api,Javascript,Youtube,Youtube Api,Youtube Iframe Api,我正在使用Youtube iFrame API开发一个小应用程序,让你可以与其他人同步观看视频。onStateChange事件让我知道播放机是否播放或暂停了视频,但它是否包含有关该操作是通过用户单击播放/暂停按钮触发的,还是我的应用程序通过player.playVideo()函数触发播放的任何信息 我需要知道两者之间的区别,这样我就不会陷入一个无限循环的情况:一个播放器点击暂停,暂停事件被发送给另一个人,我通过player.pauseVideo(),暂停他们端的视频,这会触发另一个onState

我正在使用Youtube iFrame API开发一个小应用程序,让你可以与其他人同步观看视频。
onStateChange
事件让我知道播放机是否播放或暂停了视频,但它是否包含有关该操作是通过用户单击播放/暂停按钮触发的,还是我的应用程序通过
player.playVideo()
函数触发播放的任何信息

我需要知道两者之间的区别,这样我就不会陷入一个无限循环的情况:一个播放器点击暂停,暂停事件被发送给另一个人,我通过
player.pauseVideo()
,暂停他们端的视频,这会触发另一个
onStateChange
暂停事件,等等

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

只返回与播放器状态相关的整数数据。例如:

-1(未开始) 0(完) 1(演奏) 2(暂停) 3(缓冲) 5(视频提示)


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

谢谢,我就是这么想的。服务器端通信已准备就绪,只需使用正确的方式与视频本身进行交互即可。可能需要找一个不同的无铬播放器或者做一些我想做的事情。我知道这很旧,但你解决了这个问题吗?我正处于完全相同的困境中,也就是说,正在做一个“一起观看”YouTube应用程序。还有,你做完了吗?也许它是开源的,所以我可以偷看?谢谢