docs: add README
Made-with: Cursor
This commit is contained in:
36
README.md
Normal file
36
README.md
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# 24/7 Radio
|
||||||
|
|
||||||
|
Personal-use Android app for 24/7 internet radio streaming.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Custom Raw Audio Pipeline** — OkHttp → IcyParser → Mp3FrameSync → MediaCodec → AudioTrack for absolute minimum latency (~26ms per MP3 frame)
|
||||||
|
- **Stay Connected Mode** — Aggressive reconnection with exponential backoff, never gives up
|
||||||
|
- **Dual Timers** — Session elapsed time and connection elapsed time
|
||||||
|
- **Latency Indicator** — Estimated stream-to-speaker latency
|
||||||
|
- **Icecast/Shoutcast Metadata** — Track title, artist extraction from ICY protocol
|
||||||
|
- **Album Art** — MusicBrainz/Cover Art Archive lookup with fallback chain
|
||||||
|
- **Playlist Management** — PLS/M3U import/export with #EXTIMG support
|
||||||
|
- **Station Organization** — Playlists, starring/favoriting, manual reorder
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Android 9.0+ (API 28)
|
||||||
|
- Internet connection
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./gradlew assembleDebug
|
||||||
|
```
|
||||||
|
|
||||||
|
## Import Stations
|
||||||
|
|
||||||
|
1. Open the app
|
||||||
|
2. Tap the import icon in the top bar
|
||||||
|
3. Select a .m3u or .pls file
|
||||||
|
4. Stations are added to your list
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
See [Design Document](docs/plans/2026-03-09-android-247-radio-design.md) and [Implementation Plan](docs/plans/2026-03-09-android-247-radio-implementation.md).
|
||||||
Reference in New Issue
Block a user