Interface IAcousticEchoCancellationControl (audioclient.h)
Fornece um mecanismo para determinar se um ponto de extremidade de captura de áudio dá suporte ao cancelamento acústico de eco (AEC) e, nesse caso, permite que o cliente defina o ponto de extremidade de renderização de áudio que deve ser usado como o fluxo de referência.
Herança
A interface IAcousticEchoCancellationControl herda da interface IUnknown.
Métodos
A interface IAcousticEchoCancellationControl tem esses métodos.
IAcousticEchoCancellationControl::SetEchoCancellationRenderEndpoint Define o ponto de extremidade de renderização de áudio que deve ser usado como o fluxo de referência para cancelamento de eco acústico (AEC). |
Comentários
O exemplo a seguir ilustra o uso da interface IAcousticEchoCancellationControl . Chame IAudioClient::GetService, passando o IID para a interface IAcousticEchoCancellationControl . Se for bem-sucedido, o ponto de extremidade de captura oferecerá suporte ao controle do ponto de extremidade de referência de loopback para a AEC. Observe que um ponto de extremidade pode dar suporte à AEC, mas pode não dar suporte ao controle do ponto de extremidade de referência de loopback para a AEC. Chame SetEchoCancellationRenderEndpoint para definir o fluxo de referência para a AEC. Se a chamada para GetService falhar com E_NOINTERFACE, o efeito AEC no ponto de extremidade (se houver suporte), não permitirá o controle sobre o ponto de extremidade de referência de loopback.
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 | Valor |
---|---|
Cliente mínimo com suporte | Windows Build 22621 |
Cabeçalho | audioclient.h |