1.3 KiB
1.3 KiB
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
- Open the project in Xcode
- Select a simulator or device
- 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 in the root directory
- Background playback requires iOS 11+ (FLAC support) and iOS 16+ for best results