此接口由 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::APOProcess 的 APO_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