Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Imposta l'endpoint di rendering audio che deve essere usato come flusso di riferimento per l'annullamento dell'eco acustico (AEC).
Sintassi
HRESULT SetEchoCancellationRenderEndpoint(
LPCWSTR endpointId
);
Parametri
endpointId
ID endpoint dell'endpoint ender che deve essere usato come flusso di riferimento per AEC. L'impostazione di un ID dispositivo di rendering non valido avrà esito negativo con E_INVALIDARG. Se si imposta il valore su NULL, Windows usa il proprio algoritmo per selezionare il dispositivo di riferimento loopback
Valore restituito
Restituisce un valore HRESULT, incluso quanto segue:
| Valore | Descrizione |
|---|---|
| S_OK | Successo. |
| E_INVALIDARG | Il valore endpointId non è valido. |
Osservazioni:
Nell'esempio seguente viene illustrato l'utilizzo dell'interfaccia IAcousticEchoMachitionControl . Chiamare IAudioClient::GetService, passando l'IID per l'interfaccia IAcousticEchoCancellationControl . Se ha esito positivo, l'endpoint di acquisizione supporta il controllo dell'endpoint di riferimento del loopback per AEC. Si noti che un endpoint può supportare AEC, ma potrebbe non supportare il controllo dell'endpoint di riferimento del loopback per AEC. Chiamare SetEchoMachitionRenderEndpoint per impostare il flusso di riferimento per AEC. Se la chiamata a GetService ha esito negativo con E_NOINTERFACE, l'effetto AEC sull'endpoint (se supportato), non consente il controllo sull'endpoint di riferimento di 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));
}
Requisiti
| Requisito | Valore |
|---|---|
| Client minimo supportato | Windows Build 22621 |
| Intestazione | audioclient.h |