RTC SDK为您提供了网络质量监控的功能,您可以通过网络状况变化时回调获取网络质量,设置对应的音视频规格,以确保基础通信体验。通过阅读本文,您可以了解获取网络质量及设置音视频规格的方法。

功能简介

在网络质量不理想的情况下,音视频通信的质量受客观因素影响会下降。当监控到弱网环境时,为保证基础通信体验,建议您使用SDK对应的方法分别在发布端和订阅端进行如下优化:

  • 调整视频流规格:通过设置较低档位规格的VideoProfile,减少视频通信的网络资源占用。
  • 切换视频为小流:小流有着与大流相同的宽高比,但是分辨率和码率相对较低,网络资源占用的需求较低。
  • 仅发布音频流:在极端网络环境下,可以选择只发送音频流,从而保证通信的持续。

您可以通过onNetworkQualityChanged(网络质量变化时回调)方法获得网络质量,然后在根据实际策略进行优化。

void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);
参数 类型 描述
downQuality AliRtcNetworkQuality 下行网络质量。
upQuality AliRtcNetworkQuality 上行网络质量。
uid String 网络质量发生变化的用户ID,用户ID为空表示本地,其他表示远端。

实现方法

以下为常用的设置音视频流规格的方法,更多信息,请参见AliRtcEngine接口

  • setVideoProfile:设置视频流的参数。

    public abstract void setVideoProfile(AliRtcVideoProfile profile, AliRtcVideoTrack track)                   
    参数说明
    名称 类型 描述
    profile AliRtcVideoProfile 视频流参数。默认分辨率480*640,帧率15的相机流。
    track AliRtcVideoTrack 需要设置的视频流类型,默认相机流。
  • configRemoteCameraTrack:设置是否订阅远端相机流。

    public abstract void configRemoteCameraTrack(String uid, boolean master, boolean enable)                  
    参数说明
    名称 类型 描述
    uid String 用户ID。
    master boolean true为优先订阅大流,false为订阅次小流。默认为订阅大流。
    enable boolean 默认不订阅。true为订阅远端相机流,false为停止订阅远端相机流。
    注意 该接口需要对流进行操作时(如手动订阅,关闭订阅),必须调用subscribe才能生效。
  • configLocalCameraPublish:设置是否允许发布相机流。

    public abstract void configLocalCameraPublish(boolean enable)                
    参数说明
    名称 类型 描述
    enable boolean true为允许发布相机流,false表示不允许。默认为允许发布相机流。
    注意 手动发布时,需要调用publish才能生效。