You need to enable JavaScript to run this app.
文档中心
实时音视频

实时音视频

复制全文
下载 pdf
音频管理
Web 端音频降噪
复制全文
下载 pdf
Web 端音频降噪
在实时音视频通话中,背景噪声可能会影响通话质量,RTC SDK 提供了两种降噪方式:浏览器内置降噪和 AI 音频降噪插件。本文档将介绍如何选择和集成适合你业务场景的降噪方式。​
选择降噪方式​
你可以根据噪声类型,选择不同的降噪方式。​
​
噪声类型​
特点​
推荐降噪方式​
平稳噪声​
持续且音量稳定的背景噪声,如空调、风扇或电子设备的嗡嗡声。​
浏览器内置降噪​
AI 音频降噪插件​
非平稳噪声​
出现时机或响度都不可预测的瞬时噪声,如键盘敲击、物体碰撞、人声干扰。​
AI 音频降噪插件​
​
方式 1:开启浏览器内置降噪(可抑制平稳噪声)​
在开始采集和发布音频前,调用 setAudioCaptureConfig 并将 noiseSuppression、echoCancellation 和 autoGainControl 均设置为 true。​
以上选项的完整说明参见 MediaTrackConstraints。​
​
// 必须在 startAudioCapture() 和 publishStream() 之前设置​
await engine.setAudioCaptureConfig({​
noiseSuppression: true,​
echoCancellation: true,​
autoGainControl:true,​
});​
​
await engine.startAudioCapture();​
await engine.publishStream(MediaType.AUDIO);​
​
方式 2:通过 AI 音频降噪插件(可抑制平稳噪声和非平稳噪声)​
前提条件​
  • 已集成 RTC SDK V4.47 或更高版本。​
  • AI 降噪插件仅支持以下 PC 端浏览器:Chrome 94+、Edge 94+、Firefox 80+、Safari 14.1+​
  • 设备建议(为保证最佳体验):​
  • 双核 Intel Core i5+​
  • RAM 8 GB+​
  • 64 位操作系统​
操作步骤​
  1. 在你的项目中引入 AI 降噪插件,可通过以下任一方式:​
  • 方式1:直接引入​
确保插件来自本地工程中已引入的 RTC SDK。避免因插件版本不匹配导致的引用错误。​
​
import RTCAIAnsExtension from '@volcengine/rtc/extension-ainr';​
​
  • 方式2:通过 UMD 方式引入(仅 v4.51.1 及以上版本支持)​
​
const {RTCAIAnsExtension} = window.VERTCExtensions;​
​
  1. 初始化插件并检查浏览器是否支持。​
  • ​
    // 创建插件实例​
    const AIAnsExtension = new RTCAIAnsExtension();​
    ​
    // 检查当前浏览器环境是否支持 AI 降噪插件​
    const isSupported = await AIAnsExtension.isSupported();​
    ​
  1. 注册 AI 插件并设置监听事件。​
  • ​
    import VERTC from '@volcengine/rtc';​
    // 直接引入​
    import {EventTypes as AIAnsEventTypes} from '@volcengine/rtc/extension-ainr';​
    // 创建引擎实例​
    const engine = VERTC.createEngine('<YOUR_APP_ID>');​
    ​
    // 注册 AI 降噪插件​
    try {​
    await engine.registerExtension(AIAnsExtension);​
    } catch (error) {​
    // 注册失败,详细信息见:error.message​
    }​
    AIAnsExtension.on(AIAnsEventTypes.onUnsupported, ({message}) => {​
    // 降噪插件运行时遇到不支持情况,详细信息见:message​
    })​
    AIAnsExtension.on(AIAnsEventTypes.onOverload, ({elapsedTime}) => {​
    // 系统负载过高,降噪插件运算耗时过长。建议降低档位或者关闭降噪插件。​
    })​
    AIAnsExtension.on(AIAnsEventTypes.onError, ({message}) => {​
    // 降噪插件运行时遇到错误。详细信息见:message​
    // 根据错误信息情况可以考虑尝试恢复降噪插件运行,或者关闭降噪插件​
    AIAnsExtension.resume();​
    })​
    ​
  1. 开启内部音频采集。​
​
engine.startAudioCapture();​
​
  1. 开启/关闭 AI 降噪。​
  • 你可以在通话过程中随时开启或关闭 AI 降噪,将立即生效。​
  • 自 V4.65.0 版本起,你可以为指定音频流开启 AI 降噪功能。​
​
// 为外部屏幕流开启降噪​
AIAnsExtension.enable({​
streamIndex: StreamIndex.STREAM_INDEX_SCREEN,​
sourceType: AudioSourceType.AUDIO_SOURCE_TYPE_EXTERNAL,​
});​
// 对内部主流关闭降噪​
AIAnsExtension.disable({​
streamIndex: StreamIndex.STREAM_INDEX_MAIN,​
sourceType: AudioSourceType.AUDIO_SOURCE_TYPE_INTERNAL,​
});​
​
  • 不指定音频流时,默认为内部主流。使用 V4.65.0 之前的版本,默认对内部主流开启降噪。​
​
// 开启降噪​
AIAnsExtension.enable();​
// 关闭降噪​
AIAnsExtension.disable();​
​
  1. 设置降噪模式。​
​
// 自动模式​
await AIAnsExtension.setAnsMode(AnsMode.AUTO);​
​
降噪模式说明如下:​
​
模式​
取值​
说明​
LOW​
'low'​
适用于微弱平稳噪声。​
MEDIUM​
'medium'​
适用于抑制中度平稳噪声,如空调声、风扇声。​
HIGH​
'high'​
适用于抑制嘈杂非平稳噪声,如键盘声、敲击声、碰撞声、动物叫声。​
AUTO​
'auto'​
启用音频降噪能力。具体的降噪算法由 AI 降噪插件决定。​
​
更多说明​
同时使用两种降噪方式​
当同时配置了浏览器内置降噪并注册了 AI 降噪插件时, MediaTrackConstraints 设置的传统降噪参数生效情况如下:​
​
插件状态​
autoGainControl​
echoCancellation​
noiseSuppression​
插件已注册未开启​
有效​
有效​
固定为 true​
插件已注册已开启​
固定为 true​
有效​
固定为 false​
​
关闭采样率转换提升 AI 降噪插件的性能​
AI 降噪插件默认处理 48kHz 采样率、音频帧大小为 480 的音频流,并默认开启了采样率转换功能。如果待处理的音频流满足上述条件,可参照以下设置,关闭采样率转换以获得更优性能。​
​
const AIAnsExtension = new RTCAIAnsExtension({​
resample: false,​
});​
​
​
最近更新时间:2026.08.05 16:08:44
这个页面对您有帮助吗?
有用
有用
无用
无用