2017-05-16 3 views
0

브라우저에서 HTML5 비디오 플레이어 컨트롤을 동기화하려고합니다. 현재 seeked 이벤트에 대한 이벤트 핸들러가있어서 한 클라이언트가 비디오의 다른 위치로 이동할 때 새로운 시간이 다른 모든 클라이언트로 보내집니다 (node ​​및 socket.io를 통해 수행됨). 그리고 해당 플레이어는 다음과 같습니다. 그 시간으로 이동하도록 업데이 트되었습니다. 문제는 클라이언트의 플레이어가 새로운 시간으로 업데이트되면 onseeked 이벤트 처리기를 트리거하고 다른 클라이언트에게 시간을 보내어 피드백 루프가 발생한다는 것입니다.HTML5 비디오 onseeked 이벤트 처리

사용자가 비디오 시간을 수동으로 변경하고 스크립트에서 프로그래밍 방식으로 시간을 변경하는 방법을 구별하는 방법이 있습니까? onseek 처리기가 전 처리기 만 트리거하기를 바랍니다.

+0

가능한 [Suspending event listeners] 복제본 (http://stackoverflow.com/questions/9885207/suspending-event-listeners) – d9ngle

답변

0

이 문제를 해결하는 간단한 방법은 깃발을 사용하여 프로그래밍 방식으로 설정하면 socket.io에서 새로운 시간을 보내고 플래그가 설정되어 있는지 확인한 후 서버로 다시 전파합니다.

또한 SetTimeout()을 사용하여 잠시 후 플래그를 false로 설정해야하므로 수동 변경 사항이 전파됩니다.