IApoAcousticEchoCancellation 接口 (audioenginebaseapo.h)

此接口由 AAPI 实现,以启用声学回声取消(AEC)方案。

继承

IApoAcousticEchoCancellation 接口继承自 IUnknown 接口。

注解

此接口只能由捕获终结点上的模式效果(MFX)实现。 在任何其他 APO 上实现此接口将导致加载该 APO 失败。 如果捕获终结点上的模式效果作为一系列链接的 APO 实现,则只有最靠近设备的 APO 才能实现此接口。

IApoAcousticEchoCancellation 接口上没有显式方法。 其用途是向音频引擎标识 AEC APO。 实现此接口的 API 将在调用 IAudioProcessingObjectRT::APOProcess 时传递APO_CONNECTION_PROPERTY_V2结构。 APO_CONNECTION_PROPERTY_V2 提供了一个时间戳,允许 APO 从主流和辅助流同步缓冲区。 如果传递到 IAudioProcessingObjectRT::APOProcessAPO_CONNECTION_PROPERTY 结构的 u32Signature 字段等于 APO_CONNECTION_PROPERTY_V2_SIGNATURE,则可以安全地将结构类型化为APO_CONNECTION_PROPERTY_V2

由于 AEC 算法通常需要特定的采样率和通道计数,因此音频引擎为实现 IApoAcousticEchoCancellation 接口的 APO 提供重新采样支持。 IApoAuxiliaryInputConfiguration::IsInputFormatSupported 方法通过返回 HRESULT APOERR_FORMAT_NOT_SUPPORTED,为系统提供通知 APO 的首选输入格式的机制。 并在方法的 ppSupportedInputFormat 参数中返回请求的格式。 然后,音频引擎会将输入音频重新采样为建议的格式,然后再将其发送到 AEC APO。 这样就不需要 AEC APO 实现采样率和通道计数转换。

要求

Requirement 价值
最低支持的客户端 Windows 10 内部版本 20348
Header audioenginebaseapo.h

另请参阅

APO_CONNECTION_PROPERTY_V2IAudioProcessingObjectRT::APOProcessIAudioProcessingObject::IsInputFormatSupported