OpenSL ES

Nota: Los desarrolladores deben considerar el uso de la biblioteca Oboe de código abierto que está disponible en GitHub. Oboe es un wrapper de C++ que proporciona una API similar a AAudio. Oboe llama a AAudio cuando está disponible, y recurre a OpenSL ES si no lo está.

El paquete del NDK incluye una implementación específica para Android de la especificación de la API de OpenSL ES™ 1.0.1 de Khronos Group. Esta biblioteca te permite usar C o C++ para implementar audio de alto rendimiento y baja latencia, ya sea que escribas en un sintetizador, estación de audio digital, karaoke, juegos o alguna otra app en tiempo real.

El estándar de OpenSL ES™ ofrece funciones de audio similares a las de las APIs de MediaPlayer y MediaRecorder en el framework de Java para Android. OpenSL ES proporciona una interfaz de lenguaje C y vinculaciones C++ que te permiten llamar a la API con código escrito en cualquier lenguaje.

Las APIs de OpenSL ES están disponibles para ayudarte a desarrollar y mejorar el rendimiento del audio de tu app.

Los encabezados estándar de OpenSL ES <SLES/OpenSLES.h> y <SLES/OpenSLES_Platform.h> permiten la entrada y salida de audio. Otras funcionalidades específicas de Android se encuentran en <SLES/OpenSLES_Android.h> y <SLES/OpenSLES_AndroidConfiguration.h>.

En esta sección, se explica en primer lugar cómo incorporar OpenSL ES en tu app. A continuación, se indica lo que debes saber sobre la implementación de OpenSL ES para Android, enumerando primero las diferencias entre esta implementación y la especificación de referencia y, luego, las extensiones adicionales para obtener compatibilidad con Android. La sección finaliza con notas de programación complementarias para garantizar la implementación correcta de OpenSL ES.