Condividi tramite


KSNODETYPE_ACOUSTIC_ECHO_CANCEL

Il nodo KSNODETYPE_ACOUSTIC_ECHO_CANCEL rappresenta un controllo AEC (acoustic echo cancellation). Un nodo AEC ha connessioni per due flussi di input e due flussi di output. Viene usata una coppia di input/output per il flusso di acquisizione e l'altra coppia di input/output viene usata per il flusso di rendering. I flussi capture-output e render-input hanno lo stesso formato. I flussi capture-input e render-output possono avere un numero diverso di canali e frequenze di campionamento diverse. Tuttavia, in un'implementazione tipica, i due flussi hanno la stessa frequenza di campionamento o una combinazione, ad esempio 16 kHz e 48 kHz o 11,025 kHz e 44,1 kHz, in cui una frequenza di campionamento è un multiplo intero dell'altro.

Un nodo AEC deve numerare i relativi pin logici con gli ID pin del file di intestazione Ksmedia.h, illustrati nella tabella seguente.

Parametro PIN ID Significato

KSNODEPIN_AEC_RENDER_IN

Pin sink (input del nodo) per il flusso di rendering.

KSNODEPIN_AEC_RENDER_OUT

Pin di origine (output del nodo) per il flusso di rendering.

KSNODEPIN_AEC_CAPTURE_IN

Pin sink (input del nodo) per il flusso di acquisizione.

KSNODEPIN_AEC_CAPTURE_OUT

Pin di origine (output del nodo) per il flusso di acquisizione.

Si noti che i pin nella tabella precedente sono pin logici sul nodo, che vengono usati esclusivamente per specificare le connessioni interne al filtro, anziché i pin esterni sul filtro, che vengono usati per connettersi ad altri filtri. Per altre informazioni, vedere PCCONNECTION_DESCRIPTOR.

Per informazioni su come un filtro contenente un nodo AEC può fornire supporto per le applicazioni DirectSound full-duplex, vedere Effetti di acquisizione DirectSound.

Quando viene creato un filtro contenente un nodo AEC o il nodo viene reimpostato, il nodo viene inizialmente configurato per funzionare in modalità pass-through.

Un nodo KSNODETYPE_ACOUSTIC_ECHO_CANCEL deve supportare le proprietà seguenti per abilitare l'accelerazione hardware:

KSPROPERTY_AUDIO_CPU_RESOURCES

KSPROPERTY_AUDIO_ALGORITHM_INSTANCE

KSPROPERTY_TOPOLOGYNODE_ENABLE

KSPROPERTY_TOPOLOGYNODE_RESET

La proprietà KSPROPERTY_TOPOLOGYNODE_ENABLE viene usata per abilitare e disabilitare un nodo AEC. Se disabilitato, il nodo opera in modalità pass-through; ovvero consente ai flussi di rendering e acquisizione di passare attraverso il nodo senza modifiche.

Un nodo KSNODETYPE_ACOUSTIC_ECHO_CANCEL può supportare anche le proprietà facoltative seguenti per fornire funzionalità aggiuntive di controllo e monitoraggio:

KSPROPERTY_AEC_MODE

KSPROPERTY_AEC_NOISE_FILL_ENABLE

KSPROPERTY_AEC_STATUS