【问题标题】:synchronize system time in 2 phones同步两部手机的系统时间
【发布时间】:2013-03-04 22:13:20
【问题描述】:

我正在做一个研究项目,其中 2 部 android 手机必须同时播放相同的声音文件,为此我需要将每部手机中的系统时间同步到毫秒。 我的问题是,如何在代码级别实现这一点?现在所有的方法都只能做秒级同步。

【问题讨论】:

  • 我很确定,即使您使用 NTP 或其他方式同步时间,您也很难在 VM 中精确地运行您的代码。
  • VM 指的是安卓用来执行 Java 代码的 Dalvik 虚拟机,而不是安卓模拟器。

标签: java android time synchronization


【解决方案1】:

你没有。如果你需要,你需要一个实时操作系统,而 Android 不是。太多的事情会导致它出错——时钟偏差、垃圾收集、dalvik JIT 差异等。你可以使用实时时钟函数来接近它,但你永远不会在任何编写的东西中获得那种性能保证在多任务操作系统上的虚拟机之上。

【讨论】:

  • 谢谢,还有其他方法吗?我目前的想法是先同步系统时间,然后通过套接字向这2部手机发送一条消息,在其中我指定何时播放声音文件。
  • @JunfeiWang 你可以让两个设备都在一个套接字上监听消息。然后通过多播从同一网络上的第三台机器发送您的消息。根据网络流量状况,两者应该大致同时接收到消息(足够接近,以至于它们应该同步播放声音,以至于人耳不会注意到差异)。
  • @FoamyGuy 谢谢你的建议,我会尝试建立一个专用的 wifi 网络并实施这个。
猜你喜欢
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多