如何确定 onStateChange 事件是由 API 还是用户交互触发的?

How to determine if onStateChange event was triggered by API or User interaction?

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

我需要知道其中的区别,这样我就不会陷入播放器点击暂停的无限循环情况,该暂停事件会发送给其他人,我会在他们那端通过 [=13= 暂停视频],这会触发另一个 onStateChange 暂停事件,等等

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

onStateChange只有returns一个与玩家状态相关的整数数据。例如:

-1(未开始) 0(结束) 1(播放中) 2(暂停) 3(缓冲) 5(视频提示)。

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