Partager via


Interface IAcousticEchoCancellationControl (audioclient.h)

Fournit un mécanisme permettant de déterminer si un point de terminaison de capture audio prend en charge l’annulation d’écho acoustique (AEC) et, le cas échéant, permet au client de définir le point de terminaison de rendu audio qui doit être utilisé comme flux de référence.

Héritage

L’interface IAcousticEchoCancellationControl hérite de l’interface IUnknown.

Méthodes

L’interface IAcousticEchoCancellationControl contient ces méthodes.

 
IAcousticEchoCancellationControl ::SetEchoCancellationRenderEndpoint

Définit le point de terminaison de rendu audio qui doit être utilisé comme flux de référence pour l’annulation d’écho acoustique (AEC).

Remarques

L’exemple suivant illustre l’utilisation de l’interface IAcousticEchoCancellationControl . Appelez IAudioClient ::GetService, en passant l’IID pour l’interface IAcousticEchoCancellationControl . S’il réussit, le point de terminaison de capture prend en charge le contrôle du point de terminaison de référence de bouclage pour AEC. Notez qu’un point de terminaison peut prendre en charge AEC, mais peut ne pas prendre en charge le contrôle du point de terminaison de référence de bouclage pour AEC. Appelez SetEchoCancellationRenderEndpoint pour définir le flux de référence pour AEC. Si l’appel à GetService échoue avec E_NOINTERFACE, l’effet AEC sur le point de terminaison (s’il est pris en charge) n’autorise pas le contrôle sur le point de terminaison de référence de bouclage.

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));

}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Build 22621
En-tête audioclient.h