logo
实时音视频
当前页

音频 3A 处理

2025-03-05

功能简介

在实时音视频通话时,可以对音频进行 3A 处理,主要包括 AEC(Acoustic Echo Cancelling,回声消除),AGC(Automatic Gain Control,自动增益控制)和 ANS(Active Noise Control,降噪),以提高通话质量和用户体验。

  • AEC(回声消除):对采集到的音频数据进行过滤以减少音频中的回声。
  • AGC(自动增益控制):开启该功能后,SDK 能够自动调节麦克风音量,适应远近拾音,保持音量稳定。
  • ANS(降噪):识别声音中的背景噪声并进行消除,开启该功能后可以使人声更加清晰。

示例源码下载

请参考 下载示例源码 获取源码。

相关源码请查看 “src/Examples/AdvancedAudioProcessing/AEC_ANS_AGC” 目录下的文件。

默认配置与推荐配置

SDK 中音频 3A 处理的默认配置和推荐配置如下:

参数名称参数描述默认配置推荐配置
AEC开/关回声消除。未调用此参数前,SDK 内部会自动判断是否需要使用 AEC,一旦调用此参数,则 SDK 不再自动判断。在一般使用场景中,建议不修改该配置,保持默认即可。
AGC开/关自动增益控制。未调用此参数前,SDK 内部会自动判断是否需要使用 AGC,一旦调用此参数,则 SDK 不再自动判断。
  • 在普通语聊场景中,建议使用默认配置。
  • 在音乐电台场景中,建议不开启自动增益控制以还原人声。
  • 在教育场景中,如大班课、小班课和 1v1 等,建议开启自动增益控制。
ANS开/关噪声抑制。未调用此参数前,SDK 内部会自动判断是否需要使用 ANS,一旦调用此参数,则 SDK 不再自动判断。在一般使用场景中,建议不修改该配置,保持默认即可。

前提条件

在使用音频 3A 处理之前,请确保:

使用步骤

调用 createZegoStream 接口,创建 ZegoLocalStream 实例对象 localStream,通过 camera 视频数据采集方式配置 3A 开关。

当通过摄像头和麦克风采集源数据时,使用 ZegoCaptureMicrophone 对象中的 “ANS”、 “AGC”、 “AEC” 参数,分别设置降噪、自动增益、和回声消除开关。“true” 表示开启,“false” 表示关闭。

注意
  • 创建流时只能选择 “camera”、“screen”、“custom” 中的一种配置模式。
  • 默认情况下,SDK 会根据浏览器的默认能力,判断是否开启 “ANS”、“AGC”、“AEC” 处理。如无特殊情况,建议开发者保持默认配置。
const zg = new ZegoExpressEngine(appID, server);
// 以下配置为关闭了 3A,若无特殊情况建议开发者保持默认配置
option = {
    camera: {
        video: true
  	audio: {
            ANS: false,
            AGC: false,
            AEC: false
        }
    }
}
const localStream = await zg.createZegoStream(option)
注意

若是在创建流后,推流中,需要配置 3A 处理,可以使用 setAudioConfig 进行修改。

Previous

耳返与声道设置

Next

变声/混响/立体声