46 lines
1.3 KiB
Markdown
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
|