首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在两台设备上同时启动一种方法

如何在两台设备上同时启动一种方法
EN

Stack Overflow用户
提问于 2015-01-14 21:24:02
回答 8查看 394关注 0票数 5

我有两部android手机,都连接到相同的wifi,都有蓝牙功能。

我想要一些方法,不知何故同步的手机和启动功能在同一时间在两个手机上。

例如,同时播放一首歌曲。

我已经尝试过蓝牙,但它有延迟,有时只有0.5秒。如果可能的话,我想要一些+- 0.01秒的东西。

有人建议将来用2-3秒播放,发送时间戳,但是如何同步设备的内部时钟呢?

EN

回答 8

Stack Overflow用户

发布于 2015-01-19 05:32:05

在调用该特定方法之前,请尝试测量两个设备之间的延迟:

1.第一个设备说Hi(存储当前时间)

2.第二个设备接收Hi。

3.第二个设备说back Hi!

4.第一个设备接收Hi。((storedTime- currentTime) /2)

现在你有了延迟,将你的请求发送到第二个设备来启动你的特定方法,并在延迟后的第一个设备上启动它。

尝试测量延迟5到10次,以获得更准确的结果。

票数 4
EN

Stack Overflow用户

发布于 2015-01-14 21:33:51

你有一种在设备之间传输数据的方法,对吧?如果是这样,你可以发送一个未来的时间戳,例如:如果现在的时间戳是1421242326,你发送1421242329或其他东西,并在那个时候在两个设备上启动功能。

票数 3
EN

Stack Overflow用户

发布于 2015-01-20 01:46:00

基本上使用@Dula的建议(设备1向设备2发送命令,并给出未来的“开始时间”)。然后,两个设备同时(在将来)启动该操作。

要确保设备同步,您可以使用基于服务器的时间同步(假设两个设备都可以访问Internet )。为此,每个设备联系相同的服务器(使用NTP或基于HTTP的NTP,或者联系已知的HTTP服务器,如www.google.com,并使用HTTP响应的"Date“头中的值)。将"server-date“与设备上的系统时钟进行比较,其差异是”与server-time的时间偏移“。时间偏移量可用于在"server- time“上进行同步,然后将其用作实际操作(播放媒体等)的时间基础。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27944019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档