Sobre o projeto

react-native-vlc-media-player fornece componentes de reprodução de mídia baseados no VLC para aplicativos React Native. O pacote exporta `VLCPlayer` para controle direto do reprodutor e `VlCPlayerView`, uma visualização de nível superior com título, voltar, reprodução automática e outras opções de UI. As fontes de rede suportadas incluem RTSP, RTP, RTMP, HLS, MMS, HTTP, FTP, UDP e outros protocolos expostos pelo VLC. O README lista ampla cobertura de formatos, incluindo MKV, MP4, AVI, FLV, Ogg, fluxos de transporte MPEG, H.264, H.265, AV1, VP8/VP9, AAC, MP3, FLAC, Opus, AC3 e DTS. Também suporta múltiplas faixas de áudio, incluindo 5.1, e formatos de legenda como SRT, WebVTT, TTML, SSA/ASS, VobSub e Teletext. As props do reprodutor abrangem URI de origem, URI de legenda local, estado pausado, repetição, taxa de reprodução, posição de busca, volume, mudo, faixas de áudio e texto selecionadas, reprodução em segundo plano, proporção, proporção automática, modo de redimensionamento e reprodução automática. Os callbacks de evento incluem onPlaying, onProgress, onPaused, onStopped, onBuffering, onEnded, onError, onLoad, onRecordingCreated e onSnapshot. Métodos de ref podem gravar a transmissão atual em um diretório, parar a gravação e salvar uma captura de tela de um quadro. A instalação está disponível por npm ou Yarn, com vinculação do React Native para projetos que não usam Expo. O Android normalmente não exige configurações especiais, mas o README inclui uma solução alternativa do Gradle para bibliotecas nativas `libc++_shared.so` duplicadas e observa que versões mais recentes do LibVLC resolvem problemas de legenda no Android 12 e 13. A configuração no iOS usa CocoaPods; aplicativos destinados ao iOS 14 e posterior podem precisar de `NSLocalNetworkUsageDescription` porque o MobileVLCKit pode acessar a rede local para fontes como fluxos de câmeras RTSP. O Expo é suportado apenas por meio de um build de desenvolvimento personalizado, não pelo Expo Go, porque o módulo contém código nativo personalizado. É fornecido um plugin de configuração do Expo com configurações opcionais do VLCKit para iOS e do Jetifier legado para Android. O README documenta uma falha conhecida no simulador do iOS 17 em algumas versões e recomenda um simulador com iOS 18+ nesse caso. Também lista um TODO pendente indicando que parte do tratamento de proporção de vídeo e parâmetros do Android não está totalmente implementada no lado JavaScript.