【问题标题】:How to start a task at same time in different android phones?如何在不同的安卓手机上同时启动一个任务?
【发布时间】:2015-11-05 21:39:15
【问题描述】:

我正在尝试为我的大学项目构建一个节拍器应用程序。在这个应用程序中,我必须同时在不同的安卓手机中启动一个计时器,当计时器完成时,我正在播放一首预先下载的歌曲。我解决这个问题的方法是使用 Parse.com 向设备发送推送通知。在那次推送中,我发送了一个持续时间,之后每个设备都将开始倒计时。

现在的问题是发送和接收推送的延迟。推送的发送时间和每个设备接收推送的时间差非常小。对于每个设备,此延迟都不相同。因此,每个设备上播放的音频并不完全同步。

到目前为止我所做的一小部分demo

如果您看到视频,您一定在计时器结束时听到了两声敲门声。这是因为推送的延迟不一致。

谁能建议我在每台设备上获得更准确同步的任何方法?

【问题讨论】:

  • 也许从所有三个设备订阅一个 mqtt 主题并让主发出信号开始?
  • 解析不是实时的。您应该检查 Firebase。

标签: android parse-platform push-notification


【解决方案1】:

完美地给节拍器计时是很困难的,因为声音太慢了,如果设备在几英尺外,它实际上会关闭。作为测试,您可以使用两个同步的滴答钟或节拍器,并将它们相隔 4 英尺,您会听到不同之处。

你试过把它和时钟联系起来吗?比如,在它在新的一秒开始时启动节拍器之后?

看看System.nanoTime():
https://developer.android.com/reference/java/lang/System.html#nanoTime()

听起来是个很酷的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-24
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多