À propos du projet

react-native-track-player est une bibliothèque de lecture audio pour les applications React Native. Selon son README, elle est construite sur la nouvelle architecture utilisant JSI et TurboModules, visant à éviter la surcharge du pont et la gigue. Les principales capacités décrites dans le README : - API TypeScript simple avec typage complet pour les développeurs React Native - Implémentation native de la nouvelle architecture via JSI avec prise en charge de TurboModule - Lecture en arrière-plan, afin que l'audio continue lorsque l'application est en arrière-plan ou que l'écran est éteint - Prise en charge d'Android Auto pour l'intégration native au tableau de bord de la voiture - Préchargement, décrit comme une mise en mémoire tampon en arrière-plan des pistes à venir pour une lecture quasi continue - Mise en cache audio intégrée pour réduire la bande passante et permettre la lecture hors ligne - Commandes à distance, y compris l'écran de verrouillage, les notifications de contrôle et la prise en charge des écouteurs - Hooks React tels que usePlaybackState, useIsPlaying, useProgress et useActiveMediaItem Exigences : React Native 0.74 ou version ultérieure, avec la nouvelle architecture activée (Fabric + TurboModules). L'installation se fait via npm install @rntp/player, suivie de pod install pour iOS ; Android se lie automatiquement. Le README montre un flux de démarrage rapide : appeler TrackPlayer.setupPlayer une fois au démarrage de l'application (au premier plan sur Android) avec des options telles que contentType, handleAudioBecomingNoisy et android.wakeMode ; ajouter des éléments multimédias avec url, title, artist et artwork ; appeler TrackPlayer.play() ; et consommer les hooks dans l'interface utilisateur. La version 5 est décrite comme une réécriture complète qui n'est pas rétrocompatible avec la version 4. Les améliorations annoncées de la version 5 incluent des retours synchrones de getProgress(), getQueue() et isPlaying(), une prise en charge complète de TurboModule et Fabric, et des couches natives Android et iOS réécrites. La licence est une considération importante : à partir de la version 5, le projet est sous licence commerciale. L'utilisation personnelle et éducative reste gratuite, tandis que l'utilisation commerciale nécessite une licence payante. La version 4 et les versions antérieures restent disponibles sous Apache-2.0 sur la branche v4. La documentation complète et la référence API sont hébergées sur rntp.dev.