Files

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 in the root directory
  • Background playback requires Android 8.0+ (API 26+)