Partager via


Interface IApoAcousticEchoCancellation (audioenginebaseapo.h)

Cette interface est implémentée par les API pour activer les scénarios d’annulation d’écho acoustique (AEC).

Héritage

L’interface IApoAcousticEchoCancellation hérite de l’interface IUnknown.

Remarques

Cette interface peut uniquement être implémentée par des effets de mode (MFX) sur les points de terminaison de capture. L’implémentation de cette interface sur n’importe quel autre APO entraîne un échec lors du chargement de cette apo. Si l’effet de mode sur un point de terminaison de capture est implémenté sous la forme d’une série d’API chaînées, seule l’APO la plus proche de l’appareil peut implémenter cette interface.

L’interface IApoAcousticEchoCancellation ne contient aucune méthode explicite. Son objectif est d’identifier une APO AEC au moteur audio. Les API qui implémentent cette interface se verront transmettre une structure APO_CONNECTION_PROPERTY_V2 dans son appel à IAudioProcessingObjectRT ::APOProcess. APO_CONNECTION_PROPERTY_V2 fournit un horodatage pour permettre à l’apo de synchroniser les mémoires tampons à partir des flux principal et auxiliaire. Si le champ u32Signature de la structure APO_CONNECTION_PROPERTY passée dans IAudioProcessingObjectRT ::APOProcess est égal à APO_CONNECTION_PROPERTY_V2_SIGNATURE, la structure peut être de typecast en toute sécurité dans un APO_CONNECTION_PROPERTY_V2.

Étant donné que les algorithmes AEC nécessitent généralement des taux d’échantillonnage et des nombres de canaux spécifiques, le moteur audio fournit la prise en charge du rééchantillonnage aux API qui implémentent l’interface IApoAcousticEchoCancellation . La méthode IApoAuxiliaryInputConfiguration ::IsInputFormatSupported fournit un mécanisme permettant d’informer le système du format d’entrée préféré de l’APO en retournant le APOERR_FORMAT_NOT_SUPPORTED HRESULT. et renvoyant le format demandé dans le paramètre ppSupportedInputFormat de la méthode. Le moteur audio rééchantillonne ensuite l’audio d’entrée au format suggéré avant de l’envoyer à l’APO AEC. Cela élimine la nécessité pour l’APO AEC d’implémenter le taux d’échantillonnage et la conversion du nombre de canaux.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 Build 20348
En-tête audioenginebaseapo.h

Voir aussi

APO_CONNECTION_PROPERTY_V2IAudioProcessingObjectRT ::APOProcessIAudioProcessingObject ::IsInputFormatSupported