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 suportam os seguintes dois efeitos de captura:

  • Cancelamento de eco acústico (AEC)

  • Supressão de ruído (NS)

Em um aplicativo de áudio full-duplex, como conferência telefônica, os ecos do fluxo de renderização que está sendo emitido através dos alto-falantes são captados no microfone que gera o fluxo de captura. Depois de caracterizar os reflexos sonoros na sala ou em outro ambiente físico, o sistema full-duplex utiliza o cancelamento de eco acústico (AEC) para monitorizar o fluxo de renderização e cancelar os ecos que este adiciona ao fluxo de captura. O sistema pode melhorar ainda mais a qualidade do fluxo de captura usando NS para detetar picos de ruído e removê-los do fluxo.

Uma aplicação 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 versões posteriores, você pode expor os efeitos de captura acelerados por hardware do seu 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:

Exposição dos Efeitos de Captura Hardware-Accelerated

Filtro do sistema AEC