Constanza Player é um reprodutor de mídia moderno e intuitivo, desenvolvido para oferecer uma experiência de áudio e vídeo fluida e elegante. O foco do projeto é a simplicidade de uso aliada a uma interface limpa.
O player foi projetado para oferecer uma experiência imersiva, combinando estética moderna com ferramentas avançadas de personalização.
| Tecla | Ação |
|---|---|
Espaço |
Play / Pause |
Seta Dir/Esq |
Avançar / Retroceder |
Seta Cima/Baixo |
Aumentar / Diminuir volume |
Clean Architecture em 4 camadas:
lib/
├── core/ constants, theme, router, utils
├── domain/ entities (Song, Album, Artist, LyricLine, ...)
├── services/ audio_handler, scanner, storage, share, crash, backup
└── presentation/
├── pages/ UI por feature (home, library, now_playing, settings…)
├── providers/ Riverpod StateNotifiers (player, library, theme, artwork)
└── widgets/ reusáveis (artwork_image, song_tile, mini_player…)
Stack: Flutter 3.41 · Material 3 · Riverpod 2 · go_router · just_audio + audio_service · on_audio_query · share_plus 11.
Plataforma alvo: Android (minSdk 24, targetSdk 35).
flutter pub get
flutter run # debug
flutter build apk --release # APK assinado (chave de debug em sideload)
flutter build appbundle --release # AAB para Play Store (requer keystore)
keytool -genkey -v -keystore ~/constanza-release.jks \
-keyalg RSA -keysize 2048 -validity 10000 -alias constanza
cp android/key.properties.example android/key.properties e preencha.flutter build appbundle --release — usa a keystore automaticamente.R8 + shrinkResources já estão ativos em release.
Veja update.md para o changelog completo.