我正在使用Youtube iFrame API作为一个小应用程序,让您与其他人同步观看视频。onStateChange
事件让我知道玩家是否播放或暂停了视频,但它是否包含任何信息,说明该动作是通过用户点击播放/暂停按钮触发的,还是我的应用程序通过player.playVideo()
功能触发的?
我需要知道区别,这样我就不会陷入无限循环的情况,玩家点击暂停,暂停事件被发送给另一个人,我通过player.pauseVideo()
暂停他们端的视频,这会触发另一个onStateChange
暂停事件,等等。
那么,onStateChange
是告诉我事件是如何触发的,还是我必须自己想出一种方法来跟踪事件的发起人?
onStateChange只返回与玩家状态相关的整数数据。例如以下内容:
-1(未启动)0(已结束)1(播放)2(暂停)3(缓冲)5(视频提示)。
因此,您需要创建一个自定义代码来帮助识别事件的来源。不过,实现不能像创建全局变量那样简单,因为您希望与其他人同步视频。您将需要一些服务器交互来实现这一点。