【发布时间】:2020-07-10 23:16:32
【问题描述】:
我们的应用程序使用适用于 iOS、Android 和 Web 的 Twilio 语音 SDK。我们的用例依赖于精确的设备同步和时间戳。我们正在多个相邻设备上播放音频流(在 Twilio 电话会议中),我们需要音频播放同步。大多数情况下,它运行良好,但时不时地,其中一个设备会稍微落后一点,并会影响整个体验。我们想检测设备何时落后(接收数据包延迟),以便我们可以暂时将其静音,以免影响我们想要的用户体验。
我们相信 Twilio 语音在后台使用实时通信 (Web RTC) 和实时传输协议 (RTP)。我们还认为 RTP 具有关于何时发送数据包和何时接收数据包的时间戳信息。
我们正在寻找有关如何读取此时间戳信息(发送和接收)以检测设备同步问题的任何建议。
我们的 iOS 和 Android 客户端是使用 Flutter 和 Dart 构建的,因此使用 Dart 来查看此数据包信息的任何方式都很棒。如果没有,我们可以通过 Swift 和 Kotlin 使用原生通道。对于网络,我们需要一种方法来使用 javascript 查看这个时间戳数据。
如果可能,我们希望通过 SDK 访问这些信息。我在 Twilio 的语音文档中没有看到任何关于时间戳的信息。那么,如果不可能,我们可能不得不在设备上嗅探数据包?这样,我们可以查看来自 Twilio 的 RTP 数据包以了解可用的信息。只要这不违反 Twilio 服务条款,当然 :)
【问题讨论】:
标签: flutter dart twilio webrtc rtp