IApoAcousticEchoCancellation 接口 (audioenginebaseapo.h)

此接口由 ADO 实现,用于 (AEC) 方案启用回声消除。

继承

IApoAcousticEchoCancellation 接口继承自 IUnknown 接口。

注解

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

IApoAcousticEchoCancellation 接口上没有显式方法。 其用途是标识音频引擎的 AEC APO。 实现此接口的 APO 将在调用 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 就无需实现采样率和通道计数转换。

要求

要求
最低受支持的客户端 Windows 10内部版本 20348
标头 audioenginebaseapo.h

另请参阅

APO_CONNECTION_PROPERTY_V2IAudioProcessingObjectRT::APOProcessIAudioProcessingObject::IsInputFormatSupported