Partilhar via


Efeitos de captura do DirectSound

O DirectSound 8 adiciona alguns novos recursos para habilitar e controlar efeitos de terceiros durante a captura de áudio. Esta e versões posteriores do DirectSound dão suporte aos dois efeitos de captura a seguir:

  • Cancelamento de eco acústico (AEC)

  • NS (supressão de ruído)

Em um aplicativo de áudio full-duplex, como conferência telefônica, ecos do fluxo de renderização que está sendo gerado por meio dos alto-falantes são captados no microfone que gera o fluxo de captura. Depois de caracterizar as reflexões sonoras na sala ou em outro ambiente físico, o sistema full-duplex usa a AEC para monitorar o fluxo de renderização para cancelar os ecos que ele adiciona ao fluxo de captura. O sistema pode melhorar ainda mais a qualidade do fluxo de captura usando NS para detectar picos de ruído e removê-los do fluxo.

Um aplicativo DirectSound full-duplex pode usar as interfaces IDirectSoundCaptureFXAec e IDirectSoundCaptureFXNoiseSuppress para controlar os efeitos AEC e NS. O método IDirectSoundCaptureBuffer::GetObjectInPath recupera ponteiros para objetos com essas interfaces. A função DirectSoundFullDuplexCreate cria o objeto IDirectSoundCaptureBuffer e os parâmetros que o chamador passa para essa função incluem uma matriz de estruturas DSCEFFECTDESC. A matriz especifica os efeitos que devem ser habilitados no buffer de captura. O membro guidDSCFXClass de cada estrutura na matriz contém um GUID que especifica um efeito: AEC ou NS. O nome directSound para cada GUID é mostrado na tabela a seguir, juntamente com o nome KS para o mesmo valor guid. Para obter detalhes, consulte a documentação do SDK do DirectX 8.0.

Nome do GUID do DirectSound Nome do GUID do KS

GUID_DSCFX_CLASS_AEC

KSNODETYPE_ACOUSTIC_ECHO_CANCEL

GUID_DSCFX_CLASS_NS

KSNODETYPE_NOISE_SUPPRESS

No Microsoft Windows XP e posterior, você pode expor os efeitos de captura acelerados por hardware do dispositivo de áudio para aplicativos DirectSound. Além disso, o filtro do sistema AEC (Aec.sys) fornece emulação de software de efeitos AEC e NS.

Estes tópicos são discutidos no restante desta seção:

Expondo efeitos de captura de Hardware-Accelerated

Filtro do Sistema AEC