다음을 통해 공유


IApoAcousticEchoCancellation 인터페이스(audioenginebaseapo.h)

이 인터페이스는 AEC(음향 에코 취소) 시나리오를 사용하도록 AMO에 의해 구현됩니다.

상속

IApoAcousticEchoCancellation 인터페이스는 IUnknown 인터페이스에서 상속됩니다.

설명

이 인터페이스는 캡처 엔드포인트에서 MFX(모드 효과)에 의해서만 구현될 수 있습니다. 다른 APO에서 이 인터페이스를 구현하면 해당 APO를 로드하는 데 실패합니다. 캡처 엔드포인트에 대한 모드 효과가 일련의 연결된 APO로 구현되는 경우 디바이스에 가장 가까운 APO만 이 인터페이스를 구현할 수 있습니다.

IApoAcousticEchoCancellation 인터페이스에는 명시적 메서드가 없습니다. 그 목적은 오디오 엔진에 대한 AEC APO를 식별하는 것입니다. 이 인터페이스를 구현하는 APO는 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 인터페이스를 구현하는 API에 대한 리샘플링 지원을 제공합니다. IApoAuxiliaryInputConfiguration::IsInputFormatSupported 메서드는 HRESULT APOERR_FORMAT_NOT_SUPPORTED 반환하여 APO의 기본 입력 형식을 시스템에 알리는 메커니즘을 제공합니다. 및 는 메서드의 ppSupportedInputFormat 매개 변수에서 요청된 형식을 반환합니다. 그런 다음 오디오 엔진은 입력 오디오를 AEC APO로 보내기 전에 제안된 형식으로 다시 샘플링합니다. 이렇게 하면 AEC APO가 샘플링 속도 및 채널 수 변환을 구현할 필요가 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 빌드 20348
머리글 audioenginebaseapo.h

추가 정보

APO_CONNECTION_PROPERTY_V2IAudioProcessingObjectRT::APOProcessIAudioProcessingObject::IsInputFormatSupported