# doublesymmetry/react-native-track-player

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/doublesymmetry-react-native-track-player).**

3,662 stars · 1,161 forks · Kotlin · apache-2.0

## Links

- GitHub: https://github.com/doublesymmetry/react-native-track-player
- Homepage: https://rntp.dev/
- awesome-repositories: https://awesome-repositories.com/repository/doublesymmetry-react-native-track-player.md

## Topics

`android` `audio` `audio-library` `audio-player` `ios` `media-control` `music-library` `music-player` `react-native` `windows`

## Description

react-native-track-player is a cross-platform mobile audio player library for playing local and streamed audio files. It provides a background audio service that maintains music playback and responds to remote commands from lock screens and Bluetooth devices.

The library includes a playback engine capable of decrypting audio files secured by industry-standard digital rights management and an adaptive bitrate streaming client that supports HLS and DASH formats to adjust audio quality based on network conditions. It also features an offline media storage manager for saving audio content locally.

The project covers remote playback control through integration with device lock screens, notifications, smartwatches, and automotive dashboards. Additional capabilities include external audio casting to hardware receivers, pre-emptive track buffering for seamless transitions, and a playback sleep timer.

## Tags

### Graphics & Multimedia

- [Audio Playback](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback.md) — Provides a cross-platform mobile audio player for local and streamed files with support for adaptive bitrate formats.
- [Cross-Platform Media Players](https://awesome-repositories.com/f/graphics-multimedia/cross-platform-media-players.md) — Provides a cross-platform mobile audio player library with support for local and streamed audio files.
- [External Interface Controls](https://awesome-repositories.com/f/graphics-multimedia/audio-music/media-capture-and-playback/media-playback-controls/external-interface-controls.md) — Integrates playback functions with device lock screens, notifications, Bluetooth headsets, and smartwatch interfaces.
- [Background Media Playback](https://awesome-repositories.com/f/graphics-multimedia/background-media-playback.md) — Enables audio to continue playing continuously when the application is minimized or the device screen is locked. ([source](https://cdn.jsdelivr.net/gh/doublesymmetry/react-native-track-player@main/README.md))
- [Background Music Controllers](https://awesome-repositories.com/f/graphics-multimedia/background-music-controllers.md) — Manages audio playback and persistence when the application is minimized or the device screen is locked.
- [System Media Control Bindings](https://awesome-repositories.com/f/graphics-multimedia/media-playback-controls/system-media-control-bindings.md) — Links playback functions to the device lock screen, notification area, and wired or wireless headsets. ([source](https://cdn.jsdelivr.net/gh/doublesymmetry/react-native-track-player@main/README.md))
- [Adaptive Streaming Players](https://awesome-repositories.com/f/graphics-multimedia/media-players/adaptive-streaming-players.md) — Includes a media player that supports HLS and DASH formats to adjust audio quality based on network conditions.
- [Adaptive Bitrate Streaming](https://awesome-repositories.com/f/graphics-multimedia/media-players/adaptive-streaming-players/adaptive-bitrate-streaming.md) — Implements adaptive bitrate streaming using HLS and DASH protocols to adjust audio quality based on network conditions.
- [Remote Playback Command Processing](https://awesome-repositories.com/f/graphics-multimedia/remote-playback-command-processing.md) — Processes playback commands received from lockscreens, notifications, Bluetooth devices, smartwatches, and automotive interfaces. ([source](https://doublesymmetry.github.io/react-native-track-player/docs/intro))
- [External Casting](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback/external-casting.md) — Provides functionality to send audio streams to compatible external hardware receivers and smart speakers. ([source](https://doublesymmetry.github.io/react-native-track-player/docs/intro))
- [Offline Caching](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback/offline-caching.md) — Provides mechanisms for caching media data locally to reduce network bandwidth and enable offline listening. ([source](https://cdn.jsdelivr.net/gh/doublesymmetry/react-native-track-player@main/README.md))
- [Offline Playback Management](https://awesome-repositories.com/f/graphics-multimedia/offline-playback-management.md) — Features a system for downloading and saving audio content locally to enable playback without an active internet connection.
- [DRM Integration](https://awesome-repositories.com/f/graphics-multimedia/video-production/video-players/drm-integration.md) — Integrates with native digital rights management frameworks to decrypt and play protected audio content.

### Development Tools & Productivity

- [OS Media Session Integrations](https://awesome-repositories.com/f/development-tools-productivity/media-control-integrations/os-media-session-integrations.md) — Binds playback controls to OS-level media sessions for integration with lock screens, notifications, and Bluetooth devices.

### DevOps & Infrastructure

- [Audio](https://awesome-repositories.com/f/devops-infrastructure/background-services/audio.md) — Maintains a persistent native background service to keep audio playback active while the application process is suspended.

### Mobile Development

- [Background Services](https://awesome-repositories.com/f/mobile-development/mobile-capabilities/background-services.md) — Implements a persistent background service to maintain audio playback and respond to remote commands on mobile devices.

### Data & Databases

- [Audio Pre-loading](https://awesome-repositories.com/f/data-databases/performance-caching-systems/audio-pre-loading.md) — Buffers upcoming audio tracks into memory to ensure gapless transitions between files.

### Education & Learning Resources

- [Media Offline Storage](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/technical-media-literature/articles/offline-access/media-offline-storage.md) — Implements local persistence mechanisms for audio assets to enable playback without an active internet connection.

### Networking & Communication

- [Media File Caching](https://awesome-repositories.com/f/networking-communication/remote-file-downloads/media-file-caching.md) — Persists downloaded audio files to the device file system for offline playback and reduced latency.

### Security & Cryptography

- [Digital Rights Management](https://awesome-repositories.com/f/security-cryptography/digital-rights-management.md) — Includes a playback engine capable of decrypting and playing audio files secured by industry-standard DRM encryption.
