How zzyoxml/md3music works
MD3Music is an Android music player whose Flutter UI uses an embedded Rust HTTP API server to provide online Kugou music services, alongside local-library playback and native Android audio, lyric, and device integrations. The main online workflow is user discovery/search in Flutter, request handling by the local Rust server, and forwarding to Kugou; playback then uses the app’s playback stack. README capabilities are represented at subsystem level. Flutter source was not included, so UI-to-module wiring is summarized rather than inferred in detail.
Main entry points: lib Flutter application · AudioPlaybackService.kt Audio playback service · modules Online music · library Local library
Components 22
Flutter app
- Flutter application
lib - Online music
lib/modules - Local library
lib/modules/library - User features
lib/modules/user - Settings and themes
lib/modules/settings
Embedded API
- API server bridge
android/app/src/main/kotlin/com/md3music/md3music/KugouApiService.kt - HTTP server
kugou_api_server/rust/src/server.rs - Kugou endpoints
kugou_api_server/rust/src/modules - Request handling
kugou_api_server/rust/src/request.rs - Response cache
kugou_api_server/rust/src/cache.rs
Playback and audio
- Audio playback service
android/app/src/main/kotlin/com/md3music/md3music/AudioPlaybackService.kt - Media session
android/app/src/main/kotlin/com/md3music/md3music/MD3MusicMediaSessionService.kt - Audio processing
android/app/src/main/kotlin/com/md3music/md3music - USB audio output
android/app/src/main/cpp/usb-audio-output.cpp
Lyrics and surfaces
- Lyric experiences
lib/modules/player - Floating lyrics
android/app/src/main/kotlin/com/md3music/md3music/FloatingLyricService.kt - Floating recognition
android/app/src/main/kotlin/com/md3music/md3music/FloatingRecognitionService.kt - Home widgets
android/app/src/main/kotlin/com/md3music/md3music/MusicWidgetProvider.kt - 3D cover effects
android/app/src/depth3d/kotlin/com/md3music/md3music/DepthCoverPlugin.kt
Other components
- Listener
- Kugou services
- Android media store
Connections 24
- Listener → Flutter application: uses
- Flutter application → Online music: opens
- Flutter application → Local library: browses
- Flutter application → User features: accesses
- Flutter application → Settings and themes: configures
- Online music → API server bridge: requests API
- API server bridge → HTTP server: starts server
- HTTP server → Kugou endpoints: dispatches routes
- Kugou endpoints → Request handling: builds requests
- Request handling → Kugou services: forwards requests
- HTTP server → Response cache: reads and writes
- Kugou services → Request handling: returns responses
- Local library → Android media store: reads tracks
- Online music → Audio playback service: selects music
- Local library → Audio playback service: selects tracks
- Audio playback service → Media session: publishes session
- Audio playback service → Audio processing: processes audio
- Audio processing → USB audio output: outputs PCM
- Audio playback service → Lyric experiences: provides playback
- Audio playback service → Floating lyrics: dispatches commands
- Floating lyrics → Flutter application: sends actions
- Audio playback service → Floating recognition: supports recognition
- Flutter application → Home widgets: updates
- Flutter application → 3D cover effects: enables variant