我有一个设置为2秒段长的HLS直播,并且有两个设备可以播放它-两部带Exoplayer的Android手机。
当我同时在两部Android手机(一部带有移动数据,一部带有Wi-fi)中开始播放时,由于某种原因,连接到Wi-fi的设备比使用移动数据的设备提前2秒(我注意到这是一段差异)。
是否可以使两个设备(此扩展到播放该HLS流的所有其他设备)使它们的回放开始与其他设备的回放同步,例如从完全相同的实时边缘开始,还是太多要求HLS流?
编辑:HLS标签EXT-X-PROGRAM-DATE-TIME
是在设备播放之间进行同步的可行方法吗?
答案 0 :(得分:0)
DefaultLoadControl 等待直到有5秒钟的缓冲媒体,然后才能继续播放。
您可以尝试将bufferForPlayBackMs和bufferForPlaybackAfterRebufferMs更改为0。我没有对其进行测试。
DefaultLoadControl loadControl = new DefaultLoadControl.Builder().setBufferDurationsMs(minBufferMs, maxBufferMs, bufferForPlaybackMs, bufferForPlaybackAfterRebufferMs).createDefaultLoadControl();