Interfaz IAcousticEchoCancellationControl (audioclient.h)
Proporciona un mecanismo para determinar si un punto de conexión de captura de audio admite la cancelación acústica de eco (AEC) y, si es así, permite al cliente establecer el punto de conexión de representación de audio que se debe usar como secuencia de referencia.
Herencia
La interfaz IAcousticEchoCancellationControl hereda de la interfaz IUnknown.
Métodos
La interfaz IAcousticEchoCancellationControl tiene estos métodos.
IAcousticEchoCancellationControl::SetEchoCancellationRenderEndpoint Establece el punto de conexión de representación de audio que se debe usar como flujo de referencia para la cancelación acústica de eco (AEC). |
Comentarios
En el ejemplo siguiente se muestra el uso de la interfaz IAcousticEchoCancellationControl . Llame a IAudioClient::GetService y pase el IID para la interfaz IAcousticEchoCancellationControl . Si se ejecuta correctamente, el punto de conexión de captura admite el control del punto de conexión de referencia de bucle invertido para AEC. Tenga en cuenta que un punto de conexión puede admitir AEC, pero puede que no admita el control del punto de conexión de referencia de bucle invertido para AEC. Llame a SetEchoCancellationRenderEndpoint para establecer la secuencia de referencia para AEC. Si se produce un error en la llamada a GetService con E_NOINTERFACE, el efecto AEC en el punto de conexión (si se admite), no permite el control sobre el punto de conexión de referencia de bucle invertido.
wil::com_ptr_nothrow<IAudioClient> audioClient;
RETURN_IF_FAILED(device->Activate(_uuidof(IAudioClient), CLSCTX_INPROC_SERVER, nullptr, (void **)&audioClient));
// Call Initialize before calling GetService
// Implementation of IAudioClient::Initialize has been omitted from this sample for brevity.
RETURN_IF_FAILED(audioClient->Initialize(…));
// If the capture endpoint supports acoustic echo cancellation (AEC), pass it the endpoint id of the
// audio render endpoint that should be used as the reference stream. If the capture endpoint does not
// support AEC, the GetService call fails with E_NOINTERFACE, so errors from GetService are not
// treated as fatal.
wil::com_ptr_nothrow<IAcousticEchoCancellationControl> audioAcousticEchoCancellationControl;
if (SUCCEEDED(audioClient->GetService(IID_PPV_ARGS(&audioAcousticEchoCancellationControl))))
{
RETURN_IF_FAILED(audioAcousticEchoCancellationControl-> SetEchoCancellationRenderEndpoint(endpointIdOfReferenceAudioStream));
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Build 22621 |
Encabezado | audioclient.h |