Files

46 lines
1.3 KiB
Markdown

# GrooveAudio - iOS
iOS 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
- Lock screen controls
## Setup
1. Open the project in Xcode
2. Select a simulator or device
3. Build and run
## Configuration
The app stores connection settings in UserDefaults:
- Host: IP address of your Mopidy server (default: `192.168.178.100`)
- Password: Listener password for the Icecast stream (default: `groove_listen`)
## Architecture
- **Player**: AVPlayer with custom HTTP header handling for authentication
- **Now Playing**: MPNowPlayingInfoCenter for lock screen integration
- **Mopidy Client**: URLSession-based JSON-RPC client
- **Events**: URLSession WebSocket for real-time updates
- **UI**: SwiftUI with Combine for state management
## Dependencies
- AVFoundation: Audio playback
- MediaPlayer: Now-playing information and lock screen controls
- Combine: Reactive programming
- SwiftUI: Declarative 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 iOS 11+ (FLAC support) and iOS 16+ for best results