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