docs: add README

Made-with: Cursor
This commit is contained in:
cottongin
2026-03-10 03:11:24 -04:00
parent c143483f33
commit 6144de6b08

36
README.md Normal file
View 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).