Compartir a través de


Efectos de captura de DirectSound

DirectSound 8 agrega algunas características nuevas para habilitar y controlar los efectos de terceros durante la captura de audio. Esta y versiones posteriores de DirectSound admiten los dos efectos de captura siguientes:

  • Cancelación de eco acústico (AEC)

  • Supresión de ruido (NS)

En una aplicación de audio dúplex completo, como conferencias telefónicas, los ecos de la secuencia de representación que se generan a través de los altavoces se seleccionan en el micrófono que genera la secuencia de captura. Después de caracterizar las reflexiones de sonido en la sala u otro entorno físico, el sistema dúplex completo usa AEC para supervisar la secuencia de representación para cancelar los ecos que agrega a la secuencia de captura. El sistema puede mejorar aún más la calidad de la secuencia de captura mediante NS para detectar picos de ruido y quitarlos de la secuencia.

Una aplicación DirectSound dúplex completa puede usar las interfaces IDirectSoundCaptureFXAec e IDirectSoundCaptureFXNoiseSuppress para controlar los efectos AEC y NS. El método IDirectSoundCaptureBuffer::GetObjectInPath recupera punteros a objetos con estas interfaces. La función DirectSoundFullDuplexCreate crea el objeto IDirectSoundCaptureBuffer y los parámetros que el autor de la llamada pasa a esta función incluyen una matriz de estructuras DSCEFFECTDESC. La matriz especifica los efectos que se van a habilitar en el búfer de captura. El miembro guidDSCFXClass de cada estructura de la matriz contiene un GUID que especifica un efecto: AEC o NS. El nombre de DirectSound para cada GUID se muestra en la tabla siguiente, junto con el nombre KS para el mismo valor GUID. Para obtener más información, consulte la documentación del SDK de DirectX 8.0.

Nombre guid de DirectSound Nombre del GUID de KS

GUID_DSCFX_CLASS_AEC

KSNODETYPE_ACOUSTIC_ECHO_CANCEL

GUID_DSCFX_CLASS_NS

KSNODETYPE_NOISE_SUPPRESS

En Microsoft Windows XP y versiones posteriores, puede exponer los efectos de captura acelerados por hardware del dispositivo de audio a las aplicaciones directSound. Además, el filtro del sistema AEC (Aec.sys) proporciona emulación de software de efectos AEC y NS.

Estos temas se tratan en el resto de esta sección:

Exposición de efectos de captura de Hardware-Accelerated

Filtro del sistema AEC