NTP синхронизации видео устройств WP7 - PullRequest
0 голосов
/ 05 декабря 2011

Мне нужно синхронизировать видео на разных устройствах с Windows Phone.Так что я получаю час с ntp-сервера, а затем конвертирую его в миллисекунды.Теперь я думаю, что мне нужно сделать внутренние часы, чтобы посчитать время для запуска видео.У меня есть некоторые трудности, чтобы понять это.Я не вижу примеров в интернете.Может кто-нибудь мне помочь?Мне нужно знать, как это сделать.

1 Ответ

1 голос
/ 13 декабря 2011

Ваш вопрос очень расплывчатый и содержит много информации, касающейся того, чего вы на самом деле пытаетесь достичь.Однако, собрав воедино информацию, которая, как я полагаю, относится к другим связанным с вами вопросам, можно перейти к следующему.

Самый простой способ одновременного воспроизведения видео на нескольких устройствах - это потоковое воспроизведение в режиме реального времени сцентральный сервер.

Если он не воспроизводится напрямую с центрального сервера, возникает вопрос о том, откуда загружается видеофайл и как вы определяете, когда видео следует запускать.Существует также вопрос о том, почему / если это действительно нужно воспроизводить синхронно.

Предполагая, что у вас есть центральный сервер, чтобы определить, что играть, когда:

NTP-сервер только кажется актуальнымк этому сценарию, если видеоконтент поставляется вместе с приложением или полностью загружен.Затем вы можете использовать NTP-сервер, чтобы определить разницу между временем устройства и временем, возвращаемым с центрального сервера.(Обратите внимание, что вы не можете установить время устройства с помощью доступных API.) Затем вы должны запросить центральный сервер, чтобы выяснить, откуда видео должно воспроизводиться.Я бы предложил, чтобы сервер отвечал ответом, который указывает точку начала воспроизведения через пару секунд.то есть эквивалент «Воспроизвести видео X», пропуская первые Y секунд / миллисекунд / тиков и начиная с Z секунд.

Если у вас нет центрального сервера, чтобы определить, когда воспроизводить то, что тогда, единственноеЯ могу сделать предположение о том, как будет работать этот сценарий, если на всех устройствах есть контент (или сначала загрузить его, прежде чем пытаться воспроизвести), и указать, когда этот контент должен быть воспроизведен. Простым примером этого будет видео в течение 1 часа, котороеВоспроизведение по петле. NTP-сервер можно использовать для определения фактического текущего времени (с учетом разницы, разрешенной для запроса NTP), а затем начать воспроизведение дорожки в той же позиции, в то время как она заканчивается после часа..

В вышеприведенных сценариях, когда я заявляю, что содержимое должно быть загружено перед попыткой воспроизведения, это должно гарантировать, что нет проблем с загрузкой, которая медленнее, чем воспроизведение, так как время, затрачиваемое на буферизацию, приведет к воспроизведениюнесинхронно.

Надеюсь, это поможет.

...