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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.