2007年,在Windows Vista中包含DRM的热潮中,创建了一个Windows Vista Team blog来解决许多问题。问题之一是对VoIP软件在Windows Vista上运行时执行回声消除的能力的回应。

这是尼克·怀特(Nick White)通过常见问题解答说的话:



Windows Vista提供了哪些信息以允许应用程序构建高质量的回声消除功能?



回声消除的工作原理是对播放的输出进行采样,然后从记录的麦克风输入中“减去”。

不幸的是,as MSDN notes不能总是对播放输出进行采样:



大概这意味着使用WASAPI中的Loopback Mode不是提供回声消除服务的预期方法。

旨在实现高质量回声消除的预期API是什么?



谷歌搜索一个答案,我的印象是(执行回声消除时)应用程序允许采样受DRM保护的内容,但是该内容将变成降级的(即“足够的信息”)。这将使任何回声消除变得更糟,但仍然可能。

还是Windows团队暗示“在大多数情况下已足够,但在用户正在听歌或播放电影时却不足够” –实际上不可能成功构建高质量的回声消除功能?

更新:应该注意的是,我不是在寻找回声消除API,而是在寻找一个API对播放的输出进行采样-这是实现回声消除的必要条件。除非Windows Vista当然提供了回声消除API(否则它们将继续保护Premium内容)。但我也没有看到回声消除API。

最佳答案

http://msdn.microsoft.com/en-us/library/ff819492(v=VS.85).aspx

如果您正在寻找用于执行回声消除的API,则dsp语音捕获内置了对声学回声消除的支持。

例子:
http://msdn.microsoft.com/en-us/library/dd443455(VS.85).aspx

10-04 10:14