Sobre el proyecto

react-native-audio-api es un motor de audio para React Native construido alrededor de la especificación de Web Audio API. Su objetivo es permitir a los desarrolladores generar y modificar audio en un entorno React Native de manera similar a como se hace en los navegadores, utilizando conceptos familiares de gráficos de audio. Capacidades clave descritas en el README: - Control de gráficos de audio compatible con la especificación de Web Audio API, con una página de cobertura publicada que documenta cuánto de la especificación está implementada. - Reproducción y almacenamiento en búfer mediante una API estilo "etiqueta de audio", de modo que la reproducción simple no requiere construir un gráfico de audio manualmente. - Grabación a archivo con formato, calidad y otros parámetros configurables, integrada con el gráfico de audio, además de rotación de grabación que divide las grabaciones en fragmentos más pequeños. - Notificaciones de reproducción y grabación, controlables desde el centro de notificaciones o la pantalla de bloqueo, con soporte para diseños de notificación personalizados. - Entrada de micrófono, que permite enrutar audio del dispositivo o de un dispositivo conectado al gráfico o transmitirlo. - Soporte de decodificación para m4a/mp4/aac/ogg/opus, además de transmisión HLS para fuentes en vivo o pregrabadas. - Un conjunto de nodos de audio que incluyen WaveShaperNode para distorsión no lineal, IIRFilterNode para filtros digitales personalizados, ConvolverNode para efectos de reverberación y espaciales, y un procesador de audio personalizado para escribir tus propios nodos. - JS Audio Worklets (V1 y V2) para ejecutar lógica de procesamiento personalizada en el hilo de audio y sincronizar con el hilo de la interfaz de usuario. - Módulos de utilidad y decodificación que funcionan sin crear primero un AudioContext. El trabajo planificado mencionado en la hoja de ruta incluye un DynamicCompressorNode, soporte MIDI, audio espacial y cancelación de ruido basada en el sistema. Las instrucciones de instalación están en la documentación de Introducción del proyecto. Una aplicación de ejemplo se encuentra en apps/common-app, y hay un proyecto de ejemplo separado disponible para probar la API sin integrarla en una aplicación real. La biblioteca tiene licencia MIT; parte del código fuente se deriva de WebKit y utiliza binarios de FFmpeg, con detalles de terceros en THIRD_PARTY.md. El proyecto es mantenido por Software Mansion, que también aloja un Discord comunitario para discusión y comentarios.