Sobre el proyecto

react-native-vlc-media-player proporciona componentes de reproducción multimedia basados en VLC para aplicaciones React Native. El paquete exporta VLCPlayer para control directo del reproductor y VlCPlayerView, una vista de alto nivel con opciones de interfaz como título, volver, reproducción automática y otras. Las fuentes de red admitidas incluyen RTSP, RTP, RTMP, HLS, MMS, HTTP, FTP, UDP y otros protocolos expuestos mediante VLC. El README indica una amplia compatibilidad de formatos, incluidos MKV, MP4, AVI, FLV, Ogg, flujos de transporte MPEG, H.264, H.265, AV1, VP8/VP9, AAC, MP3, FLAC, Opus, AC3 y DTS. También admite múltiples pistas de audio, incluido 5.1, y formatos de subtítulos como SRT, WebVTT, TTML, SSA/ASS, VobSub y Teletext. Las propiedades del reproductor abarcan URI de origen, URI de subtítulos local, estado de pausa, repetición, velocidad de reproducción, posición de búsqueda, volumen, silencio, pistas de audio y texto seleccionadas, reproducción en segundo plano, relación de aspecto, relación de aspecto automática, modo de redimensionamiento y reproducción automática. Las devoluciones de llamada de eventos incluyen onPlaying, onProgress, onPaused, onStopped, onBuffering, onEnded, onError, onLoad, onRecordingCreated y onSnapshot. Los métodos mediante ref pueden grabar la transmisión actual en un directorio, detener la grabación y guardar una instantánea de fotograma. La instalación está disponible mediante npm o Yarn, con enlace de React Native para proyectos que no son Expo. Android normalmente no requiere ajustes especiales, pero el README incluye una solución alternativa de Gradle para bibliotecas nativas duplicadas libc++_shared.so y señala que las versiones más recientes de LibVLC resuelven problemas de subtítulos en Android 12 y 13. La configuración de iOS usa CocoaPods; las aplicaciones dirigidas a iOS 14 y versiones posteriores pueden necesitar NSLocalNetworkUsageDescription porque MobileVLCKit puede acceder a la red local para fuentes como transmisiones de cámaras RTSP. Expo solo se admite mediante una compilación de desarrollo personalizada, no Expo Go, porque el módulo contiene código nativo personalizado. Se proporciona un complemento de configuración de Expo con ajustes opcionales de VLCKit para iOS y Jetifier heredado para Android. El README documenta un fallo conocido del simulador de iOS 17 en algunas versiones y recomienda un simulador de iOS 18 o superior en ese caso. También incluye un TODO pendiente que indica que parte del manejo de relación de aspecto y parámetros de video en Android no está completamente implementado en el lado de JavaScript.