用户网络环境较为复杂,在网络较差的环境下,容易被降级发生网络断连、丢包和抖动的情况,造成音频卡顿影响用户体验。在某些场景下,用户对于音视频体验较为重视,我们推荐业务放弃视频卡顿和操作延迟,以保证音视频整体流畅度和体验。
在弱网且需要保证音视频体验的情况下,调用 setJitterBufferDelay 通过设置 1000ms 的 delay 能够对抗 1000ms 内的网络抖动,超过 1000ms 的抖动依旧无法保证音频体验。退出音频场景时,调用 service.setJitterBufferDelay(0) 可以使音画不同步现象逐步缓解,为加快达到同步效果这里显示调用了 service.setAvSyncParam(SyncPolicy.OPEN, SyncSpeed.NORMAL),当达到音画同步的效果后(我们预期10s后已经达到音画同步的效果),再次关闭音画同步是为了在保持音画同步效果的同时优化因开启音画同步带来的额外渲染延迟,从而尽可能降低整体体验延迟。
详细信息,参考 接口说明。
/** * 设置音频JitterBuffer缓冲时长 * * @param delay 音频JitterBuffer缓冲时长,单位ms。delay<30ms时内部会处理成30以防止过低,可以通过设置delay=0使延迟时间恢复到正常值。 */ void setJitterBufferDelay(int delay); /** * 获取音频JitterBuffer缓冲时长 * * @return delay 单位ms */ int getJitterBufferDelay(); /** * 设置音画同步参数 * @param syncPolicy 同步策略 * @param syncSpeed 同步速度 */ void setAvSyncParam(@SyncPolicy String syncPolicy, @SyncSpeed String syncSpeed);