Método IAcousticEchoCancellationControl::SetEchoCancellationRenderEndpoint (audioclient.h)
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).
Sintaxe
HRESULT SetEchoCancellationRenderEndpoint(
LPCWSTR endpointId
);
Parâmetros
endpointId
A ID do ponto de extremidade do ponto de extremidade que deve ser usado como o fluxo de referência para a AEC. A configuração de uma ID de dispositivo de renderização inválida falhará com E_INVALIDARG. Definir o valor como NULL resultará no Windows usando seu próprio algoritmo para escolher o dispositivo de referência de loopback
Retornar valor
Retorna um valor HRESULT, incluindo o seguinte:
Valor | Descrição |
---|---|
S_OK | Êxito. |
E_INVALIDARG | O valor endpointId é inválido. |
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 |