网友:
正在测试 WebRTC AGC,信号未经修改就通过了。以下是我如何创建和初始化 AGC:
WebRtcAgc_Process(agc, micData, NULL, 80, micData, NULL, micLevelIn, &micLevelOut, 0, &saturationWarning);
其中micLevelIn
设置为 0。
有人可以告诉我做错了什么吗?
我预计满量程正弦音会衰减到目标 DBFS 级别;低电平正弦音调(即 -30dBFS)将被放大以匹配目标 DBFS 电平。但这不是我所看到的。
解决思路
以下是用于 Webrtc_AGC 的操作顺序:
- 创建AGC:
WebRtcAgc_Create
- 初始化AGC:
WebRtcAgc_Init
- 设置配置:
WebRtcAgc_set_config
- 初始化
capture_level = 0
- 对于
kAgcModeAdaptiveDigital
,调用 VirtualMic:WebRtcAgc_VirtualMic
- 处理缓冲区
capture_level
:WebRtcAgc_Process
- 获取返回的输出捕获级别
WebRtcAgc_Process
并将其设置为capture_level
- 重复 5 到 7
audio buffers
- 摧毁AGC:
WebRtcAgc_Free
检查 webrtc/modules/audio_processing/gain_control_impl.cc 以供参考。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。