我正在开发一个项目,用于捕获和上传来自两个Android设备(Glass和平板电脑)的视频,这两个设备通过蓝牙相互通信。我的同步,上传和捕获过程(使用一个设备来控制另一个)效果很好,但我在录制时(通过MediaRecorder)保持同步。目前的过程是:
请注意,这假设倒计时将在完全相同的时间开始,并且MediaRecorder在两个设备上准备和启动的时间都相同。这种天真的方法大致同步(文件之间的差异小于500毫秒),但我知道必须有更好的方法。我知道问题的一部分是传递和处理蓝牙消息会引入延迟,但我不知道如何解决这个问题。我尝试添加额外的同步和启动消息以补偿倒计时延迟,但这些添加的开销似乎使问题变得更糟。什么是密切同步媒体录制时间(或者我猜其他强化活动)的最佳方式?我知道有些滞后是不可避免的,但是将其降低到大约100ms漂移是可以接受的。