gpt4 book ai didi

iOS - 以毫秒精度在设备之间同步音频

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:44:34 24 4
gpt4 key购买 nike

我需要以毫秒级精度同步联网设备中的音频。我已经破解了一些工作得很好,但不是完全可靠的东西:

1)服务器设备发送带有timeSinceClick参数的rpc

2) 客户端设备根据 rpc 在传输过程中花费的时间来启动相同的点击,

3)System.Diagnostics.StopWatch 定期检查所有连接的设备,以确保播放没有偏离绝对时间太多,并在必要时进行更正

有没有更优雅的方法来做到这一点?此外,如果将非 iOS 设备添加到组合中,我的方法需要手动同步:延迟差异使得自动化变得非常困难......

我满眼都是!

干杯,

格雷佐

最佳答案

很难在同一台机器上以毫秒精度同步多个设备,所以如果您能够在多台机器上做到这一点,我会说您做得很好。对于您描述的步骤,我对 iOS 不够熟悉,但我可以告诉您我将如何以跨平台方式处理此问题。也许您的方法是一样的。

  1. 一台机器(“主机”)会向所有其他机器发送一个 UDP 数据包。
  2. 所有其他机器都会尽快回复。
  3. 接收回复所花费的时间除以二,即(大约)将数据包从一台机器发送到另一台机器所花费的时间。 (这必须经过验证。处理和发送数据包可能需要更长的时间?可能不会)
  4. 在重复步骤 1-3、忽略任何极值并对剩余结果取平均值后,您就知道将消息从一台机器发送到另一台机器需要多长时间。
  5. 现在“同步”UDP 数据包可以从主机发送到“从机”。同步数据包将包含延迟信息,以便当保存机器收到数据包时,它们知道它们是在 x 毫秒前发送的。可能需要发送多个同步数据包,以防网络延迟或丢弃其中一些数据包。

关于iOS - 以毫秒精度在设备之间同步音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12413672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com