Files
audioserver/GrooveAudio (iOS)/README.md
T

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

  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 in the root directory
  • Background playback requires iOS 11+ (FLAC support) and iOS 16+ for best results