Share via


KSNODETYPE_ACOUSTIC_ECHO_CANCEL

Le nœud KSNODETYPE_ACOUSTIC_ECHO_CANCEL représente un contrôle AEC (annulation d’écho acoustique). Un nœud AEC a des connexions pour deux flux d’entrée et deux flux de sortie. Une paire entrée/sortie est utilisée pour le flux de capture, et l’autre paire entrée/sortie est utilisée pour le flux de rendu. Les flux capture-sortie et render-input ont le même format. Les flux de capture-entrée et de rendu-sortie peuvent avoir un nombre différent de canaux et des taux d’échantillonnage différents. Toutefois, dans une implémentation classique, les deux flux ont le même taux d’échantillonnage ou une combinaison, par exemple 16 kHz et 48 kHz ou 11,025 kHz et 44,1 kHz, dans lesquels un taux d’échantillonnage est un multiple entier de l’autre.

Un nœud AEC doit numéroter ses broches logiques avec les ID de broche du fichier d’en-tête Ksmedia.h, qui sont indiqués dans le tableau suivant.

Paramètre d’ID de broche Signification

KSNODEPIN_AEC_RENDER_IN

Broche de récepteur (entrée de nœud) pour le flux de rendu.

KSNODEPIN_AEC_RENDER_OUT

Broche source (sortie de nœud) pour le flux de rendu.

KSNODEPIN_AEC_CAPTURE_IN

Broche de récepteur (entrée de nœud) pour le flux de capture.

KSNODEPIN_AEC_CAPTURE_OUT

Code pin source (sortie de nœud) pour le flux de capture.

Notez que les broches du tableau précédent sont des broches logiques sur le nœud, qui sont utilisées uniquement pour spécifier des connexions internes au filtre, plutôt que des broches externes sur le filtre, qui sont utilisées pour se connecter à d’autres filtres. Pour plus d’informations, consultez PCCONNECTION_DESCRIPTOR.

Pour plus d’informations sur la façon dont un filtre contenant un nœud AEC peut prendre en charge les applications DirectSound en duplex intégral, consultez Effets de capture DirectSound.

Lorsqu’un filtre contenant un nœud AEC est créé ou que le nœud est réinitialisé, le nœud est initialement configuré pour fonctionner en mode direct.

Un nœud KSNODETYPE_ACOUSTIC_ECHO_CANCEL doit prendre en charge les propriétés suivantes afin d’activer l’accélération matérielle :

KSPROPERTY_AUDIO_CPU_RESOURCES

KSPROPERTY_AUDIO_ALGORITHM_INSTANCE

KSPROPERTY_TOPOLOGYNODE_ENABLE

KSPROPERTY_TOPOLOGYNODE_RESET

La propriété KSPROPERTY_TOPOLOGYNODE_ENABLE permet d’activer et de désactiver un nœud AEC. Lorsqu’il est désactivé, le nœud fonctionne en mode pass-through ; autrement dit, il permet aux flux de rendu et de capture de passer par le nœud sans modification.

Un nœud KSNODETYPE_ACOUSTIC_ECHO_CANCEL peut également prendre en charge les propriétés facultatives suivantes afin de fournir des fonctionnalités de contrôle et de surveillance supplémentaires :

KSPROPERTY_AEC_MODE

KSPROPERTY_AEC_NOISE_FILL_ENABLE

KSPROPERTY_AEC_STATUS