Pregunta

Necesito sincronizar un video en dispositivos diferentes con Windows Phone. Así que obtengo la hora de un servidor NTP y luego la convierto en Milisegundos. Ahora creo que necesito hacer un reloj interno para contar el tiempo para lanzar el video. Tengo algunos difíciles de entender esto. No veo ejemplos en Internet. ¿Alguien puede ayudarme? Necesito saber cómo hacer eso.

¿Fue útil?

Solución

Su pregunta es muy vaga y perder mucha información relevante para lo que realmente está tratando de lograr. Sin embargo, al juntar información de lo que supongo que son otras preguntas relacionadas, aquí va.

La forma más simple de tener una reproducción de video al mismo tiempo en múltiples dispositivos es transmitirlo en tiempo real desde un servidor central.

Si no se reproduce directamente desde un servidor central, entonces hay una pregunta sobre de dónde se descarga el archivo de video y cómo define cuándo debe iniciarse el video. También hay una pregunta sobre por qué/si realmente necesita ser jugada en sincronización.

Suponiendo que tiene un servidor central para determinar qué jugar cuando:

Un servidor NTP solo parece relevante para este escenario si el contenido de video se envía con la aplicación o se descarga por completo. Luego puede usar el servidor NTP para determinar la diferencia entre el tiempo de los dispositivos y el que regresó desde el servidor central. (Tenga en cuenta que no puede establecer el tiempo de dispositivos a través de las API disponibles). Luego debe consultar el servidor central para averiguar de dónde se debe reproducir el video. Sugeriría que el servidor responda con una respuesta que indique el punto de comenzar a reproducirse en un par de segundos. es decir, el equivalente de "Play Video X, omitiendo los primeros segundos/milisegundos/tics y comenzando en Z segundos de tiempo.

Si no tiene un servidor central para determinar cuándo jugar qué, la única suposición que puedo hacer sobre cómo funcionaría este escenario es si todos los dispositivos tienen el contenido (o descargarlo antes de intentar jugar) y cuándo Ese contenido debe jugarse. Un ejemplo simple de esto sería un video de 1 hora que se reproduce en un bucle. El servidor NTP podría usarse para averiguar cuál es el tiempo actual real (sujeto a la diferencia permitida para la solicitud NTP) y luego comenzar a reproducir la pista en la misma posición en el momento en que pasa la hora.

En los escenarios anteriores cuando afirmo que el contenido debe disminuir antes de tratar de jugar, esto es para garantizar que no hay problemas con la descarga más lenta que la reproducción, ya que el tiempo que se toma en Buffer no se sincroniza.

Espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top