Local Player ๐ต
May 8, 2026 ยท View on GitHub
Un lettore musicale locale leggero e moderno per Android
๐ฑ Funzionalitร
- ๐ต Riproduzione locale: accedi alla tua musica senza bisogno di internet
- ๐ Supporto testi: visualizza testi sincronizzati (formato LRC) durante la riproduzione
- ๐ Gestione coda: organizza e riordina facilmente i brani successivi
- ๐ Ricerca avanzata: trova rapidamente i brani per titolo o artista
- ๐ Modalitร di riproduzione:
- Shuffle
- Ripeti un brano
- Ripeti tutto
- ๐ Info audio: visualizza formato (FLAC, MP3, ecc.) e bitrate
- ๐ Rilevamento automatico: l'app rileva automaticamente i nuovi brani aggiunti
- ๐จ Interfaccia moderna: UI scura con Material Design 3
- ๐ฑ Notifiche: controlli di riproduzione nella notifica e nella schermata di blocco
- ๐ฏ Miniplayer: controllo rapido senza uscire dalla libreria
- ๐ Ordinamento: ordina per titolo (A-Z, Z-A) o artista
๐ธ Screenshot
๐ ๏ธ Tecnologie
- Linguaggio: Kotlin
- UI Framework: Jetpack Compose
- Design: Material Design 3
- Architettura: MVVM (Model-View-ViewModel)
- Audio: Android MediaPlayer
- Persistenza: SharedPreferences e cache JSON
- Coroutines: Kotlin Coroutines per operazioni asincrone
๐ Requisiti
- Android 7.0 (API 24) o superiore
- Permessi:
READ_MEDIA_AUDIO(Android 13+)READ_EXTERNAL_STORAGE(Android 12 o inferiore)FOREGROUND_SERVICEFOREGROUND_SERVICE_MEDIA_PLAYBACKPOST_NOTIFICATIONS
๐ Installazione
Dalle release
- Vai alla sezione Releases
- Scarica il file APK dell'ultima versione
- Installa l'APK sul tuo dispositivo Android
- Apri l'app e concedi i permessi richiesti
Compilare dal sorgente
# Clona il repository
git clone https://github.com/cvc953/localplayer.git
cd localplayer
# Compila con Gradle
./gradlew assembleRelease
# L'APK verrร generato in: app/build/outputs/apk/release/
๐ก Utilizzo
-
Primo avvio:
- Concedi il permesso di accesso ai file multimediali
- L'app eseguirร automaticamente la scansione della tua libreria musicale
-
Riprodurre musica:
- Tocca qualsiasi brano nell'elenco
- Usa il miniplayer per controlli rapidi
- Tocca il miniplayer per aprire il player completo
-
Gestire la coda:
- Tieni premuto un brano e trascinalo per riordinarlo
- Usa il menu con i tre puntini per aggiungerlo alla coda
-
Vedere i testi:
- Inserisci file
.lrco.ttmlcon lo stesso nome del brano - Nel player, tocca l'icona dei testi
- I testi si sincronizzeranno automaticamente
- Inserisci file
-
Aggiornare la libreria:
- L'app rileva automaticamente i nuovi brani
- Puoi anche aggiornare manualmente dal menu (โฎ โ Aggiorna libreria)
๐ Struttura del progetto
localplayer/
โโโ app/
โ โโโ src/
โ โ โโโ main/
โ โ โ โโโ java/com/cvc953/localplayer/
โ โ โ โ โโโ model/ # Modelli dati
โ โ โ โ โโโ ui/ # Schermate Compose
โ โ โ โ โโโ viewmodel/ # ViewModel
โ โ โ โ โโโ services/ # Servizi in background
โ โ โ โ โโโ util/ # Utility
โ โ โ โ โโโ MainActivity.kt
โ โ โ โโโ res/ # Risorse
โ โ โ โโโ AndroidManifest.xml
โ โ โโโ test/
โ โโโ build.gradle.kts
โโโ gradle/
โโโ .github/
โ โโโ workflows/ # GitHub Actions
โโโ README.md
โโโ build.gradle.kts
๐ค Contribuire
Le contribuzioni sono benvenute. Per favore:
- Fai un fork del progetto
- Crea un branch per la tua feature (
git checkout -b feature/AmazingFeature) - Commetti le tue modifiche (
git commit -m 'Add some AmazingFeature') - Fai push del branch (
git push origin feature/AmazingFeature) - Apri una Pull Request
๐ Segnalare problemi
Se trovi un bug o hai un suggerimento, apri una issue.
๐ Roadmap
- Equalizzatore integrato
- Supporto alle playlist
- Widget per la schermata Home
- Temi personalizzabili
- Scansione di cartelle specifiche
- Importazione/Esportazione impostazioni
- Sleep timer
๐ Licenza
Questo progetto รจ distribuito con licenza MIT. Consulta il file LICENSE per maggiori dettagli.
๐ค Autore
Cristian Villalobos - @cvc953