音频降噪处理
引入依赖的 WASM 模块
该降噪方案依赖 WASM 模块进行,您需要将以下两个文件下载到您的工程中,并与您的其他资源一同管理。
- WASM_URL: https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.2/AudioProcessing.wasm
- SCRIPT_URL: https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.2/process-worklet.js
注意
5.24.0 版本之后,使用音频降噪处理,必须在初始化时配置以上两个文件在业务层工程中的引用地址。
将资源下载到本地后,在 RTCLib 初始化时,通过配置将地址传入 SDK 内部。
TypeScript
// 初始化 RTCLib 时配置
{
// 3A 配置
AAAWorklet: {
wasmUrl: './xxxxx/AudioProcessing.wasm',
scriptUrl: './xxxxx/process-worklet.js'
}
})
外置降噪算法音频处理
自 5.6.19 版本开始,RTCLib 提供了内置的、针对麦克风采集音频的外置算法降噪处理方案,以优化部分场景下的音频采集质量。
目前该方案仅对 createMicrophoneAndCameraTracks
与 createMicrophoneAudioTrack
两个接口获取到的 RCLocalAudioTrack
数据可用。
代码示例
TypeScript
const { code, track } = await rtcClient.createMicrophoneAudioTrack();
if (code !== RCRTCCode.SUCCESS) {
console.error(`麦克风音频获取失败 -> ${code}`);
return;
}
// 对采集的音频应用外置降噪处理
const res = await (track as RCMicphoneAudioTrack).apply3ANoiseWorklet();
if (res.code !== RCRTCCode.SUCCESS) {
console.warn(`音频降噪处理失败 -> ${res.code}`);
}
// 发布资源
// ...
// 请注意:外置降噪处理需要在资源发布之前进行,否则无法生效。