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
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 :