我正在尝试跨浏览器同步HTML5视频播放器的控件。目前我有一个搜索事件设置的事件处理程序,以便当一个客户端移动到视频中的不同位置时,新时间将发送到所有其他客户端(这通过node和socket.io完成)并且他们的播放器是更新到那个时候。问题是,一旦客户的播放器更新了新的时间,他们的 onseeked事件处理程序会触发并向其他客户端发出时间,从而导致反馈循环。
有没有办法区分用户对视频时间的手动更改以及脚本中的程序化时间变化?我希望onseek处理程序只触发前者。
答案 0 :(得分:0)
解决此问题的一种简单方法是使用标志并在socket.io向您发送新时间时将其设置为 programmatic ,并检查该标志是否已设置,然后再将其传播回服务器
此外,您需要在使用SetTimeout()
一段时间后再次将该标志设置为false,以便手动更改,因为它们应该传播。