Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

216
Views
API de YouTube: conflicto de evento OnPlayerStateChange con socket.io

Estoy tratando de hacer una aplicación web con youtube iframe api , usando socket.io . El objetivo de la aplicación es ver y controlar videos de YouTube sincronizados, pude lograr esto con controles personalizados con las funciones del reproductor.
Pero quiero que esto suceda con los controles nativos de YouTube, así que descubrí que se puede hacer escuchando los eventos usando la función onPlayerStateChange(),

Cliente:

 const onPlayerStateChange = event => { console.log(event.data); switch (event.data) { case 1: playVid(); break; case 2: pauseVid(); break; }; const playVid = () => { console.log("play"); socket.emit( "send-data", { state: "play", time: player.getCurrentTime(), }, room ); }; const pauseVid = () => { console.log("pause"); socket.emit( "send-data", { state: "pause", time: player.getCurrentTime(), }, room ); }; socket.on("recv-data", data => { if (data.state == "play") { if (Math.abs(data.time - player.getCurrentTime()) > 1) player.seekTo(data.time); player.playVideo(); } else if (data.state == "pause") { player.pauseVideo(); } });

Servidor:

 io.on("connection", socket => { socket.on("send-data", (data, room) => { io.to(room).emit("recv-data", data); }); socket.on("join-room", room => { socket.join(room); }); });

Cuando más de un reproductor se conecta en una habitación reproduciendo el video, en algún momento, el estado del reproductor se desordena con una serie de reproducciones y pausas, tanto que la pantalla se congela.

 index.js:107 play index.js:90 2 index.js:119 pause index.js:90 1 index.js:107 play index.js:90 2 index.js:119 pause index.js:90 1 index.js:107 play index.js:90 2 index.js:119 pause index.js:90 1 index.js:107 play index.js:90 2 index.js:119 pause index.js:90 1 and goes on...

¿Qué estoy haciendo mal? y como corregir esto?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!