如何在不同的安卓手机上同时启动一个任务?
Posted
技术标签:
【中文标题】如何在不同的安卓手机上同时启动一个任务?【英文标题】:How to start a task at same time in different android phones? 【发布时间】:2015-11-05 21:39:15 【问题描述】:我正在尝试为我的大学项目构建一个节拍器应用程序。在这个应用程序中,我必须同时在不同的安卓手机中启动一个计时器,当计时器完成时,我正在播放一首预先下载的歌曲。我解决这个问题的方法是使用 Parse.com 向设备发送推送通知。在那次推送中,我发送了一个持续时间,之后每个设备都将开始倒计时。
现在的问题是发送和接收推送的延迟。推送的发送时间和每个设备接收推送的时间差非常小。对于每个设备,此延迟都不相同。因此,每个设备上播放的音频并不完全同步。
到目前为止我所做的一小部分demo。
如果您看到视频,您一定在计时器结束时听到了两声敲门声。这是因为推送的延迟不一致。
谁能建议我在每台设备上获得更准确同步的任何方法?
【问题讨论】:
也许从所有三个设备订阅一个 mqtt 主题并让主发出信号开始? 解析不是实时的。您应该检查 Firebase。 【参考方案1】:完美地给节拍器计时是很困难的,因为声音太慢了,如果设备在几英尺外,它实际上会关闭。作为测试,您可以使用两个同步的滴答钟或节拍器,并将它们相隔 4 英尺,您会听到不同之处。
你试过把它和时钟联系起来吗?比如,在它在新的一秒开始时启动节拍器之后?
看看System.nanoTime()
:https://developer.android.com/reference/java/lang/System.html#nanoTime()
听起来是个很酷的项目。
【讨论】:
以上是关于如何在不同的安卓手机上同时启动一个任务?的主要内容,如果未能解决你的问题,请参考以下文章