当前知识库站点已不再维护。请移步新版知识库:https://help.rongcloud.cn/

使用CallLib或CallKit进行音视频通话设置3A配置方式

发布时间: 2023-02-23 15:47

回答:

    音频配置参数生效前提:

        1. 需要 主叫端 在调用 RongCallClient.getInstance().startCall(...)  前设置

        2. 需要 被叫端 在调用 RongCallClient.getInstance().acceptCall(...); 前设置

设置音频配置参数代码示例:

RCRTCAudioStreamConfig.Builder audioStreamConfig = RCRTCAudioStreamConfig.Builder.create()
    .enableEchoFilter(true) // 代码示例以设置回声消除配置为例
    .setEchoCancel(AECMode.AEC_MODE2);

RongCallClient instance = RongCallClient.getInstance();
if (instance != null) { //RongCallClient类示例会在IM第一次登录成功后自动创建,如果没有登录IM成功 则有可能为空
    instance.setAudioConfig(audioStreamConfig);
}

RCRTCAudioStreamConfig.Builder 类相关方法说明可以参考API文档:

https://www.rongcloud.cn/docs/api/android/rtclib_v5/cn/rongcloud/rtc/api/stream/RCRTCAudioStreamConfig.Builder.html


1. 开发者使用 CallKit 和 CallLib 模块时设置音频配置方式:

    因为开发者使用到了 callkit 模块,在该模块中已经有相关配置的设置方法:在 callkit/src/main/java/io/rong/callkit/BaseCallActivity.java 类的 audioVideoConfig() 方法中添加如下设置即可;因为 CallKit 中通话页面继承了 BaseCallActivity 类,该方法会在 startCall 和 acceptCall 之前调用将配置设置给SDK。


2. 开发者仅使用 CallLib 模块 时设置音频配置方式:

    因为开发者没有使用 callkit 模块,所以需要在 主叫端 调用 RongCallClient.getInstance().startCall(...)  和 被叫端 调用RongCallClient.getInstance().acceptCall(...); 前添加上面代码示例的配置