0

我需要将不同设备中的视频与 windows phone 同步。所以我从 ntp 服务器获取小时,然后将其转换为毫秒。现在我想我需要制作一个内部时钟来计算启动视频的时间。我很难理解这一点。我在互联网上没有看到例子。谁能帮我?我需要知道该怎么做。

4

1 回答 1

1

您的问题非常模糊,并且缺少与您实际想要实现的目标相关的大量信息。但是,通过将我认为与您相关的其他问题中的信息拼凑在一起,就可以了。

在多个设备上同时播放视频的最简单方法是从中央服务器实时流式传输。

如果它不是直接从中央服务器播放,那么就会出现一个关于从哪里下载视频文件以及如何定义视频应该从何时开始的问题。还有一个关于为什么/是否真的需要同步播放的问题。

假设您有一个中央服务器来确定在以下情况下播放什么:

如果视频内容随应用程序提供或已完全下载,则 NTP 服务器似乎仅与此场景相关。然后,您可以使用 NTP 服务器来确定设备时间与从中央服务器返回的时间之间的差异。(请注意,您不能通过可用的 API 设置设备时间。)然后您应该查询中央服务器以找出应该从哪里播放视频。我建议让服务器响应一个响应,指示在几秒钟内开始播放的点。即相当于“播放视频 X,跳过前 Y 秒/毫秒/滴答声并在 Z 秒时间开始。

如果您没有中央服务器来确定何时播放什么,那么我可以对这种情况如何工作做出的唯一假设是所有设备是否都有内容(或在尝试播放之前先下载)以及有关何时播放的详细信息应该播放该内容。一个简单的例子是循环播放的 1 小时视频。NTP 服务器可用于找出实际的当前时间(取决于 NTP 请求所允许的差异),然后在该时间过去时开始在同一位置播放曲目。

在上述情况下,当我声明必须在尝试播放之前下载内容时,这是为了确保不会出现下载比播放慢的问题,因为缓冲时间会使播放不同步。

希望这可以帮助。

于 2011-12-12T21:04:42.640 回答