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