CollotsSpot/Ensemble
Music Assistant 的极简 Android 客户端 - 将您的音乐库流式传输到手机,或控制任何已连接扬声器的播放
- Stars
- 215
- Forks
- 8
- 最近推送(UTC)
- 2026年8月25日
- 项目状态
- 未归档
技术话题
使用的依赖
依赖清单 36 项
- flutter
{"sdk":"flutter"} - flutter_localizations
{"sdk":"flutter"} - intl
^0.20.0 - material_design_icons_flutter
^7.0.7296 - material_symbols_icons
^4.2815.0 - dynamic_color
1.6.8 - palette_generator
^0.3.3+3 - flutter_svg
^2.0.10+1 - provider
^6.1.1 - web_socket_channel
^2.4.0 - http
^1.1.0 - cached_network_image
^3.3.1 - flutter_cache_manager
^3.3.1 - shared_preferences
^2.2.2 - flutter_secure_storage
^9.2.2 - drift
^2.22.0 - drift_flutter
0.2.0 - path_provider
^2.1.5 - sqlite3_flutter_libs
^0.5.28 - uuid
^4.2.1 - image
^4.3.0 - package_info_plus
^8.0.0 - device_info_plus
^10.1.0 - share_plus
^10.1.4 - url_launcher
^6.3.0 - just_audio
^0.9.36 - audio_service
^0.18.12 - audio_session
^0.1.18 - flutter_volume_controller
^1.3.2 - rxdart
^0.28.0 - flutter_pcm_sound
^3.3.3 - flutter_test开发依赖
{"sdk":"flutter"} - flutter_lints开发依赖
^3.0.1 - flutter_launcher_icons开发依赖
^0.13.1 - build_runner开发依赖
^2.4.13 - drift_dev开发依赖
^2.22.1
所在榜单
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
展开 / 收起项目 README
GitHub release GitHub Downloads License: MIT GitHub Sponsors Ko-fi
An unofficial mobile client for Music Assistant
Stream your music library directly to your phone, or control playback on any connected speaker.
Disclaimer
Ensemble is an unofficial, community-built mobile client for Music Assistant. It is not affiliated with, endorsed by, or supported by the Music Assistant project or its developers.
This application was built with AI-assisted development using Claude Code and Gemini CLI.
Also See
Ensemble TV - A simple Android TV client for Music Assistant that displays what's currently playing on your TV with remote control support.
Features
Local Playback
- Stream to Your Phone - Play music from your Music Assistant library directly on your mobile device via Sendspin protocol
- Background Playback - Music continues playing when the app is minimized
- Media Notifications - Control playback from your notification shade with album art display
- Instant Response - Pause/resume in ~300ms
Remote Control
- Multi-Player Support - Control any speaker or device connected to Music Assistant
- Device Selector - Swipe down on mini player to reveal all your devices
- Multi-Room Grouping - Long-press any player to sync it with the current player
- Full Playback Controls - Play, pause, skip, seek, and adjust volume
- Volume Precision Mode - Hold the volume slider for fine-grained control with haptic feedback
- Power Control - Turn players on/off directly from the mini player
Queue Management
- View & Manage Queue - See upcoming tracks in the playback queue
- Drag to Reorder - Instant drag handles for reordering tracks
- Swipe left to Delete - Remove tracks with a simple swipe gesture
- Swipe right to play next - Move tracks with a simple swipe gesture
Home Screen
- Customizable Rows - Toggle and reorder: Recently Played, Discover Artists, Discover Albums
- Favorites Rows - Optional rows for Favorite Albums, Artists, Tracks, Playlists, and Radio Stations
- Adaptive Layout - Rows scale properly for different screen sizes and aspect ratios
- Pull to Refresh - Refresh content with a simple pull gesture
Library
- Music - Browse artists, albums, playlists, and tracks from all your music sources
- Radio Stations - Browse and play radio stations with list or grid view
- Podcasts - Browse podcasts, view episodes with descriptions and publish dates
- Audiobooks - Browse by title, series, or author with progress tracking
- Favorites Filter - Toggle to show only your favorite items
- Providers Filter - Toggle to show only specific provider items
- Letter Scrollbar - Fast navigation through long lists
- Provider Icons - Provider icons on library covers
Search
- Universal Search - Find music, podcasts, radio stations, playlists, and audiobooks
- Fuzzy Matching - Typo-tolerant search (e.g., "beetles" finds "Beatles")
- Smart Scoring - Results ranked by relevance with colored type indicators
- Search History - Quickly access your recent searches
- Quick Actions - Long-press any result to add to queue or play next
Audiobooks
- Chapter Navigation - Jump between chapters with timestamp display
- Progress Tracking - Track your listening progress across sessions
- Continue Listening - Pick up where you left off
- Mark as Finished/Unplayed - Manage your reading progress
- Series Support - View audiobooks organized by series with collage cover art
Podcasts
- Episode Browser - View full episode list with artwork and descriptions
- Skip Controls - Skip forward/backward during playback
- High-Resolution Artwork - Fetched via iTunes for best quality
Android Auto
- Media Browsing - Browse your library from your car's display with categories for Home, Music, Audiobooks, Podcasts, and Radio
- Voice Search - Find and play tracks using voice commands
- Full Playback Controls - Play, pause, and skip from your car's head unit
- Album Art & Metadata - Track info and artwork displayed on your car's screen
- Smart Queueing - Tap any track in an album or playlist to play from that point with the full queue
Smart Features
- Instant App Restore - App loads instantly with cached library data while syncing in background
- Auto-Reconnect - Automatically reconnects when connection is lost
- Offline Browsing - Browse your cached library even when disconnected
- Hero Animations - Smooth transitions between screens
- Welcome Screen - Guided onboarding for first-time users
Theming
- Material You - Dynamic theming based on your device's wallpaper
- Adaptive Colors - Album artwork-based color schemes
- Light/Dark Mode - System-aware or manual theme selection
Screenshots
Download
Download the latest release from the Releases page.
Setup
- Launch the app
- Enter your Music Assistant server URL
- Connect to your server
- Start playing! Music plays on your phone by default, or swipe down on the mini player to choose a different player.
Finding Your Server URL
Important: You need the Music Assistant URL, not your Home Assistant URL.
To find the correct URL:
- Open Music Assistant web UI
- Go to Settings > About
- Look for Base URL (e.g.,
http://192.168.1.100:8095)
Home Assistant Add-on Users
If you run Music Assistant as a Home Assistant add-on:
- Use the IP address of your Home Assistant server
- Do not use your Home Assistant URL or ingress URL
Android Auto
Since Ensemble is not installed from the Play Store, you need to enable unknown sources in Android Auto:
- Open Android Auto settings on your phone
- Tap the Version number at the bottom 10 times to enable developer mode
- Tap the three-dot menu and open Developer settings
- Enable Unknown sources
- Connect your phone to your car via USB or wirelessly
- Ensemble will appear in Android Auto's app list
Remote Access
For access outside your home network, you'll need to expose Music Assistant through a reverse proxy (e.g., Traefik, Nginx Proxy Manager, Cloudflare Tunnel).
Requirements
- Music Assistant server (v2.7.0 beta 20 or later recommended)
- Network connectivity to your Music Assistant server
- Android device (Android 5.0+)
- Audiobookshelf provider configured in Music Assistant (for audiobook features)
Sponsors
A huge thank you to my sponsors! 💖
License
MIT License
For Developers
Build from Source
Prerequisites
- Flutter SDK (>=3.0.0)
- Dart SDK
Build Instructions
- Clone the repository
git clone https://github.com/CollotsSpot/Ensemble.git
cd Ensemble
- Install dependencies
flutter pub get
- Generate launcher icons
flutter pub run flutter_launcher_icons
- Build APK
flutter build apk --release
The APK will be available at build/app/outputs/flutter-apk/app-release.apk
Technologies Used
- Flutter - Cross-platform mobile framework
- audio_service - Background playback and media notifications
- web_socket_channel - WebSocket communication with Music Assistant
- provider - State management
- cached_network_image - Image caching
- shared_preferences - Local settings storage