Introduction
React Native Track Player is the most capable audio library for React Native — built on the New Architecture with synchronous native calls, no bridge overhead, no jitter.
What’s included
- Playback control — play, pause, seek, skip, speed, volume
- Queue management — add, remove, reorder, replace tracks at any index
- Background playback — audio continues when the app is backgrounded or screen is off
- Preloading — upcoming tracks are buffered before the user asks for them
- Audio caching — reduce bandwidth and enable offline playback
- Remote controls — lock screen and notification controls on iOS and Android
- Android Auto — native car dashboard integration
- React hooks —
usePlaybackState,useIsPlaying,useProgress,useActiveMediaItem - TypeScript — fully typed from the ground up
New Architecture
V5 is built on JSI with full Fabric and TurboModule support. Native calls are synchronous — state reads like getProgress(), getQueue(), and isPlaying() return immediately without a round-trip across the bridge.
V5 vs V4
V5 is a complete rewrite and is not backwards-compatible with V4. The API has been simplified and restructured around the New Architecture and the latest advances in audio — but if you’ve used V4, it will feel familiar.
License
V5 is dual-licensed. Personal use and educational use are free. All other use — including for-profit companies, freelancers, non-profits, and revenue-generating apps — requires a commercial license.
Getting help
- GitHub issues: doublesymmetry/react-native-track-player
- Email: team@doublesymmetry.com