iPhone-同步两部iPhone,使它们同时启动任务

iPhone-同步两部iPhone,使它们同时启动任务,iphone,ios,Iphone,Ios,我需要制作一个可以同时在两台(或更多)iPhone上播放相同媒体的应用程序,问题是它必须是完美的,没有第二次延迟等等。有没有可能iPhone在每台设备上都有完美(或近乎完美)的通用时间戳。或者我有一些其他选项?如果它们在同一时区和同一时间集,您可以使用NSTimer的 -(id)initWithFireDate:(NSDate*)日期间隔:(NSTimeInterval)ti目标:(id)t选择器:(SEL)s用户信息:(id)ui重复:(BOOL)rep 2规则: 找到一种在每个设备上都有相同

我需要制作一个可以同时在两台(或更多)iPhone上播放相同媒体的应用程序,问题是它必须是完美的,没有第二次延迟等等。有没有可能iPhone在每台设备上都有完美(或近乎完美)的通用时间戳。或者我有一些其他选项?

如果它们在同一时区和同一时间集,您可以使用NSTimer的

-(id)initWithFireDate:(NSDate*)日期间隔:(NSTimeInterval)ti目标:(id)t选择器:(SEL)s用户信息:(id)ui重复:(BOOL)rep

2规则:

  • 找到一种在每个设备上都有相同时间的方法
  • 使用此共享统一时间使用“StartTime”函数。没有“startNow”功能
  • iPhone应该能够使用远程服务器同步日期和时间,如果这不够准确(谁知道),这是实现这一点的一种方法(假设您的iPhone已经能够在它们之间进行通信):

    • 主设备向从设备发送时间10次(或更多)
    • 每次从机将它的时间与接收到的时间进行比较,并生成一个增量
    • 尝试10次后,对增量进行平均,并使用此平均值相应地调整从属时间

    您可以选择从一个公共服务器访问时间,然后在两台设备上相应地启动计时器(根据您从服务获得的时间进行计算),以便在两台设备上都有准确的时间,然后播放它


    甚至这也有一个陷阱,因为互联网速度可能会有所不同,两台设备中的一台在从服务器获取响应时可能会比另一台设备稍有延迟,并且根据您的要求,它们可能会以毫秒左右的速度不同步,这将是可见的。:/还有其他想法吗

    没有与系统时钟不同的内部时钟-因此这意味着每个设备可能具有完全不同的时间设置(事实上,它们很可能具有不同的时间设置,即使只有一两秒钟)

    使用网络/互联网连接与中央时间服务器进行同步可能是一种可行的方法,但这将需要网络/互联网连接,并且您必须设置时钟,同时考虑到与时间服务器的连接延迟

    你可能需要某种本地同步系统。如果它们非常接近,一种方法可能是在应用程序中的设备之间创建临时蓝牙连接,然后在应用程序中使用一些同步代码来获得相同的内部计时器。例如,您可以让要启动的第一个应用程序成为“控制器”,然后所有其他应用程序都会搜索该控制器并与之同步。同步可能只是控制器发送时间戳消息,其他设备可以获取并设置内部计数器以匹配


    如果不知道更多关于要求的信息,很难说如何最好地实现这一点,因为运行应用程序和发出声音之间的时间可能会有限制,或者如果你必须有触发信号,或者如果他们只是在时间x发出声音。

    他们会彼此非常接近吗?是否会有一个他们都可以连接的本地网络?他们会很近,但不知道网络。这只会在所有设备都有完全相同的时间设置时起作用,但如果他们都在设备上设置了不同的时间怎么办?(自动时间更新已关闭)我认为,如果您试图精确同步附近2个或更多设备的时钟,且网络延迟未知,唯一的方法是使用听觉(“滴答声”)或视频(闪光)提示。或者设计您的解决方案来处理彼此相隔5秒的设备。