Compartir a través de


Funcionamiento del Administrador de compresión de audio

[La característica asociada a esta página, Administrador de compresión de audio, es una característica heredada. Microsoft recomienda encarecidamente que el nuevo código no use esta característica.

ACM usa enlaces de interfaz de controlador existentes para invalidar el algoritmo de asignación predeterminado para dispositivos de audio de forma de onda. Esto permite al ACM interceptar llamadas abiertas al dispositivo. Una vez interceptada una llamada, el ACM puede realizar diversas tareas para procesar los datos de audio, como insertar un compresor externo o descomprimir en la secuencia.

ACM administra los siguientes tipos de controladores:

  • Controladores de compresor y descompresión (códec)
  • Controladores de convertidor de formato
  • Controladores de filtro

Los compresores y descompresores cambian un tipo de formato a otro. Por ejemplo, un compresor o descompresión puede cambiar un archivo PCM (Modulación de código de pulso) a un archivo ADPCM (modulación de código de pulso diferencial adaptable). Los convertidores de formato cambian el formato, pero no el tipo de datos. Por ejemplo, un convertidor puede cambiar de 44 kHz, datos de 16 bits a 44 kHz, datos de 8 bits. Los filtros no cambian el formato de datos, pero cambian los datos de audio de forma de onda de alguna manera. Por ejemplo, un filtro podría combinar un flujo de datos y un eco de sí mismo. Un único controlador ACM, o una etiqueta de filtro o etiqueta de formato dentro de un controlador, también puede admitir combinaciones de los tipos anteriores.

Para la salida de audio de forma de onda, el ACM pasa cada búfer de datos al convertidor a medida que llega. El convertidor descomprime los datos y devuelve los datos descomprimidos al ACM en un búfer de "sombra". A continuación, el ACM pasa el búfer de sombras descomprimido al controlador de audio de forma de onda. El ACM asigna los búferes de sombras cada vez que recibe un mensaje de preparación.

Para la entrada de audio de forma de onda, el ACM pasa búferes de sombra vacíos al controlador. Usa una tarea en segundo plano para recibir una notificación después de que el controlador haya rellenado el búfer de sombras. A continuación, el ACM pasa los búferes al controlador para la compresión. Una vez finalizada la compresión, el controlador pasa los datos a la aplicación.