Por lo general, las apps de audio de alto rendimiento requieren más funcionalidades que la capacidad de reproducir o grabar sonido. Necesitan un comportamiento receptivo del sistema en tiempo real. Estos son algunos casos prácticos típicos:
- Estaciones de trabajo de audio digital
- Sintetizadores
- Cajas de ritmos
- Apps para aprendizaje musical
- Apps de karaoke
- Mezclador para DJ
- Efectos de audio
- Conferencias de audio y video
En esta sección, se explican los principios generales para minimizar la latencia de audio. Además, se proporciona asesoramiento para muestreo de audio a fin de que puedas elegir la tasa de muestreo óptima y tener en cuenta las ventajas y desventajas de usar números de punto flotante en la representación de datos de audio.
En el resto de la sección, se describen dos bibliotecas que están disponibles para escribir aplicaciones de audio de alto rendimiento:
- OpenSL ES es una implementación específica de Android de la especificación de la API de OpenSL ES™ de Khronos Group. No se recomienda OpenSL ES para diseños nuevos. Los desarrolladores de apps y proveedores de middleware deben elegir Oboe o AAudio como interfaz de audio nativa.
- AAudio se desarrolló como una alternativa nativa y ligera de Android a la biblioteca de OpenSL ES. La API de AAudio es más pequeña y fácil de usar que OpenSL ES.
Recursos adicionales
Para obtener más información, utiliza los siguientes recursos:
Muestra
Codelabs
- Making Waves Parte 1: Crea un sintetizador
- Making More Waves: Muestra
- Crea un juego musical con Oboe