46 lines
1.3 KiB
Markdown
46 lines
1.3 KiB
Markdown
# GrooveAudio - Android
|
|
|
|
Android client for the GrooveAudio streaming server.
|
|
|
|
## Features
|
|
|
|
- Stream FLAC audio from your Mopidy server
|
|
- Control playback (play/pause)
|
|
- Adjust volume
|
|
- View now-playing information
|
|
- Background playback with notification
|
|
- Lock screen controls
|
|
|
|
## Setup
|
|
|
|
1. Open the project in Android Studio
|
|
2. Build and run on your device
|
|
|
|
## Configuration
|
|
|
|
The app stores connection settings in SharedPreferences:
|
|
- Host: IP address of your Mopidy server (default: `192.168.178.100`)
|
|
- Password: Listener password for the Icecast stream (default: `groove_listen`)
|
|
|
|
## Architecture
|
|
|
|
- **Player**: Media3 ExoPlayer with OkHttp for authentication
|
|
- **Service**: MediaSessionService for background playback and notification
|
|
- **Mopidy Client**: JSON-RPC over HTTP using OkHttp
|
|
- **Events**: WebSocket for real-time updates
|
|
- **UI**: Jetpack Compose
|
|
|
|
## Dependencies
|
|
|
|
- Media3 ExoPlayer: Audio playback
|
|
- OkHttp: HTTP client for Mopidy API and WebSocket
|
|
- Coil: Image loading for cover art
|
|
- Kotlinx Serialization: JSON parsing
|
|
- Jetpack Compose: UI framework
|
|
|
|
## Notes
|
|
|
|
- The app uses port 8000 for the FLAC stream and port 8180 for the Mopidy API
|
|
- For internet access, see the [MOBILE_APP_INSTRUCTIONS.md](../../MOBILE_APP_INSTRUCTIONS.md) in the root directory
|
|
- Background playback requires Android 8.0+ (API 26+)
|