- 文档首页
实时音视频
实时音视频
开发指南
音频管理
Web 端音频降噪
Web 端音频降噪
在实时音视频通话中,背景噪声可能会影响通话质量,RTC SDK 提供了两种降噪方式:浏览器内置降噪和 AI 音频降噪插件。本文档将介绍如何选择和集成适合你业务场景的降噪方式。
选择降噪方式
你可以根据噪声类型,选择不同的降噪方式。
方式 1:开启浏览器内置降噪(可抑制平稳噪声)
// 必须在 startAudioCapture() 和 publishStream() 之前设置
await engine.setAudioCaptureConfig({
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+
操作步骤
- 在你的项目中引入 AI 降噪插件,可通过以下任一方式:
确保插件来自本地工程中已引入的 RTC SDK。避免因插件版本不匹配导致的引用错误。
import RTCAIAnsExtension from '@volcengine/rtc/extension-ainr';
- 方式2:通过 UMD 方式引入(仅 v4.51.1 及以上版本支持)
const {RTCAIAnsExtension} = window.VERTCExtensions;
const AIAnsExtension = new RTCAIAnsExtension();
// 检查当前浏览器环境是否支持 AI 降噪插件
const isSupported = await AIAnsExtension.isSupported();
import VERTC from '@volcengine/rtc';
import {EventTypes as AIAnsEventTypes} from '@volcengine/rtc/extension-ainr';
const engine = VERTC.createEngine('<YOUR_APP_ID>');
await engine.registerExtension(AIAnsExtension);
// 注册失败,详细信息见:error.message
AIAnsExtension.on(AIAnsEventTypes.onUnsupported, ({message}) => {
// 降噪插件运行时遇到不支持情况,详细信息见:message
AIAnsExtension.on(AIAnsEventTypes.onOverload, ({elapsedTime}) => {
// 系统负载过高,降噪插件运算耗时过长。建议降低档位或者关闭降噪插件。
AIAnsExtension.on(AIAnsEventTypes.onError, ({message}) => {
// 降噪插件运行时遇到错误。详细信息见:message
// 根据错误信息情况可以考虑尝试恢复降噪插件运行,或者关闭降噪插件
AIAnsExtension.resume();
engine.startAudioCapture();
- 你可以在通话过程中随时开启或关闭 AI 降噪,将立即生效。
- 自 V4.65.0 版本起,你可以为指定音频流开启 AI 降噪功能。
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();
await AIAnsExtension.setAnsMode(AnsMode.AUTO);
降噪模式说明如下:
更多说明
同时使用两种降噪方式
关闭采样率转换提升 AI 降噪插件的性能
AI 降噪插件默认处理 48kHz 采样率、音频帧大小为 480 的音频流,并默认开启了采样率转换功能。如果待处理的音频流满足上述条件,可参照以下设置,关闭采样率转换以获得更优性能。
const AIAnsExtension = new RTCAIAnsExtension({
最近更新时间:2026.08.05 16:08:44