¿Qué significa API de audio?
Sistema: IOS15.5
La API de audio es una interfaz de programación de aplicaciones especial. En un sistema informático, si es necesario emitir audio, se debe utilizar un método específico para controlar chips de audio, como códecs y DAC. En el proceso de mover chips de audio, necesitamos utilizar algunas interfaces de programación de aplicaciones especiales, que son API de audio.
Al utilizar la API de audio, el software de audio, como los reproductores, puede diseñar directamente programas de salida para la API, sin utilizar instrucciones diferentes para diferentes chips. Las API de audio comunes incluyen MME, DS, WDM, KS, WASAPI, ASIO, etc.
Tomemos MME como ejemplo. MME es la API de audio de Windows más común, llamada extensiones multimedia, que es una tecnología de extensión multimedia. Tiene una larga historia y buena compatibilidad. Básicamente, puede ser compatible con todos los dispositivos del mercado. Es una API de alto nivel y no se comunica directamente con el hardware. Requiere acceso al hardware de audio a través de capas de interfaces, lo que también le aporta una alta latencia. Aunque este retraso no causa un deterioro en la calidad del sonido al reproducir audio, tiene un impacto negativo significativo en el procesamiento y la grabación de audio.
MME utiliza la serie de API waveIn/waveOut para completar el procesamiento de audio. Después de que se inicie el programa, use la función de la serie waveIn para activar la función de entrada de la tarjeta de sonido, configure el búfer en un valor lo suficientemente pequeño y luego comience a grabar datos de audio en el búfer configurado. Cuando el búfer esté lleno, agregue el búfer (WAVHDR) directamente a la cola de salida de la función de la serie waveOu. Este método es simple de implementar, pero la desventaja es que MME es una API de alto nivel y todo el proceso debe pasar por muchas etapas de procesamiento del sistema, lo que genera grandes retrasos. Si el buffer es demasiado pequeño, el sonido será entrecortado. En términos generales, el retraso mínimo puede rondar los 120 ms.