Arquitectura de audio de Windows
En este tema se hace un resumen general de la arquitectura de audio de Windows 10/11.
Diagrama de pila de audio de Windows 10/11
En este diagrama se esboza un resumen de los elementos principales de la pila de audio de Windows 10/11.
API existentes
API de nivel superior
Las API de nivel superior se usan para el desarrollo de aplicaciones. Estas API están actualmente en uso y son compatibles.
- Clase XAML MediaElement(C#, VB, C++)
- Etiquetas HTML Objeto de audio y Objeto de vídeo<> (usadas en sitios web y Windows Web Apps)
- Espacio de nombres Windows.Media.Capture (C#, VB, C++)
- Microsoft Media Foundation (C++)
Estas API anteriores están en desuso.
API de nivel inferior
Estas API de nivel inferior se recomiendan para el streaming de audio.
Esta API de nivel inferior se recomienda para la enumeración.
Estas API no se recomiendan para aplicaciones de Windows.
- Acerca de la API MMDevice (reemplazada por Windows.Devices.Enumeration)
- API DeviceTopology
- API EndpointVolume
Motor de audio
El motor de audio consta de dos componentes relacionados, el gráfico de dispositivos de audio (audiodg.exe), que carga el motor de audio (audioeng.dll).
El motor de audio:
- Mezcla y procesa transmisiones de audio. Para obtener más información sobre cómo el motor de audio usa búferes para transferir audio, consulte Descripción del controlador de puerto WaveRT.
- Carga objetos de procesamiento de audio (APO), que son complementos específicos de hardware y que procesan la señal de audio. Para obtener más información sobre los APO, consulte Objetos de procesamiento de audio de Windows.
Servicio de audio (audiosrv.dll)
El servicio de audio:
- Se usa para configurar y controlar transmisiones de audio.
- Implementa directivas de Windows para la reproducción de audio en segundo plano, la atenuación de audio (ducking), etc.
Generador de puntos de conexión de audio (audioendpointbuilder.exe)
El generador de puntos de conexión de audio (audioendpointbuilder.exe):
- Se usa para detectar nuevos dispositivos de audio y crear puntos de conexión de audio de software. Para obtener más información sobre el algoritmo que se usa, consulte Algoritmo del generador de puntos de conexión de audio.
Controladores de audio
Controladores de audio:
- Siga el modelo puerto-minipuerto. Para obtener más información, consulte Terminología de audio de WDM y Desarrollo de un controlador minipuerto WaveRT.
- Permitir que la pila de audio renderice y capture audio de varios dispositivos de audio, como altavoces integrados y micrófonos, auriculares, dispositivos USB, dispositivos Bluetooth, HDMI, etc.
- El modelo puerto-minipuerto se corresponde con Advanced Linux Sound Architecture (ALSA)
- Para obtener información sobre el código de los controladores de ejemplo, consulte Controladores de audio de ejemplo.
Hardware
El hardware de audio que está presente en cualquier dispositivo varía, pero puede incluir:
- Códec de audio
- DSP (opcional)
- Altavoces integrados, micrófono, etc.
- Dispositivos externos: dispositivos de audio USB, dispositivos de audio Bluetooth, audio HDMI, etc.
- El procesamiento de señal también se puede implementar en el hardware (por ejemplo, el códec o el DSP), aparte de en los APO.