// the find
doublesymmetry/react-native-track-player
The best audio player for React Native. Built on the New Architecture — Android Auto, caching, preloading, background playback, and more.
react-native-track-player is a full-featured audio playback library for React Native covering background playback, Android Auto, audio caching, preloading, and lock-screen controls. V5 is a complete rewrite on JSI/TurboModules — synchronous native calls, no bridge. Worth noting upfront: V5 is commercially licensed; V4 (Apache-2.0) is still on a branch if you need open-source.
JSI-based synchronous API is a real improvement — getProgress() and getQueue() returning without a round-trip eliminates a whole class of timing bugs in player UIs. Android Auto support is genuinely rare in React Native libraries and usually requires painful custom work. Built-in audio caching and preloading at the native layer means you're not cobbling together a separate solution. The hook API (useProgress, useIsPlaying, useActiveMediaItem) is clean and covers what you actually need in a player UI without ceremony.
The commercial license on V5 is a hard stop for any production app — pricing isn't listed publicly, which is a red flag for budget planning and OSS-adjacent projects. Requires New Architecture (Fabric + TurboModules), which means projects still on the old architecture or RN < 0.74 are stuck on V4 indefinitely; that's a non-trivial migration gate. Windows support is listed in topics but there's no Windows-specific documentation or native code visible in the tree — unclear how complete it actually is. V5 is a breaking rewrite with no migration path documented in the README, so anyone upgrading from V4 is on their own.