回波抵消(AEC)
AEC的工作原理是通过对讲话者的输出建模,并且将其从麦克风捕捉的信号里除去。AEC有助于确保对端听不到回声。
为了启用 AEC,在 Windows Messager 中运行“音频和视频调节”向导(Audio and Video Tuning:进入菜单:Tools/Audio Tuning Wizard...)。在音频调节部分,去掉“I am using headphones”复选框前面的“√”。
打开音视频调节向导对话框
使用 IRTCClient 接口 PreferredAEC 方法可以通过编程实现对 AEC 的启用和禁用。有关 RTC 客户端 API 和接口的更多信息请参考Platform SDK 文档。
RTC 客户端使用的 AEC 模块是 Microsoft DirectSound 底层结构的一部分。该组件包括下列特性和限制:
AEC只在不超过 25×15×9 英尺的小房间才会有效;
AEC只对单声道有效,当输出是多个通道的立体声的时候,只有一个通道能够具有回波抵消的效果;
AEC不能抵消来自其它声音源的声音,比如背景中收音机放出来的歌曲;
注:以下两条限制只应用于 Windows XP 的 RTM RTC 客户端。可从Windows Update
下载一个包来去掉这两条限制。
AEC要求音频捕捉和再现设备使用同一个时钟,这意味着,AEC 对 USB 音频设备无效。如果 RTC 的客户端检测到了这样的情况,音频调节向导 中的那个复选框会被禁用,以阻止用户启用 AEC。
AEC仅对采样率为8KHZ和16KHZ的信号有用。这意味着AEC对采样率为其它值的声卡无效,例如基于AC''''97的声卡,这种声卡的采样率在44KHZ左右。调节向导检测到这样的声卡时 同样也会禁用 AEC。
可在程序里通过 IRTCClient 接口的 PreferredAEC方法对 AEC 进行控制。