Guida – Audio / Musica in background nelle applicazioni Android

Android - Musica in background

Chi sviluppa giochini o applicazioni per bambini sà che uno dei problemi che dovrà affrontare sarà quello della musica in background.

In questo piccolo tutorial vi spiegherò come mettere una canzone o degli effetti audio in background nelle applicazioni android sfruttando i servizi messi a disposizione dal sistema.

Per iniziare avete bisogno di un file audio da utilizzare, potete scaricarne uno a scelta da PlayOnLoop.com o da qualsiasi altro sito conoscete. Io solitamente uso i file .mp3 oppure .wav.

Impostazioni del progetto

Una volta scaricato il file audio rinominatelo in “bg_music.<estensione>” ed incollatelo in una cartella denominata raw (createla se non esiste) dentro la cartella res.

Creazione del servizio

Per gestire la riproduzione dell’audio in background nell’activity è necessario creare un servizio. Create una classe chiamandola MusicService.java ed incollate all’interno questo codice, quindi effettuare i vari import

Per ogni servizio che create dovete aggiungere qualche riga al vostro AndroidManifest. Nello specifico aggiungere questa riga:

Avvio del servizio nell’Activity

Ora che il servizio è stato creato ed android ne è a conoscenza passiamo alla modifica dell’activity. Prima di tutto create aggiungere questi attributi:

Aggiungere ora due metodi che saranno usati per legare il servizio al contesto.

Ora non resta che avviare il servizio per iniziare la riproduzione. Nel metodo onCreate() aggiungere queste righe di codice:

L’applicazione così composta già può essere avviata! Il suono così creato però sarà infinito senza alcun tipo di controllo.

Play, Pausa e Stop

La classe MusicService.java contiene alcuni metodi che garantiscono il completo controllo sulla riproduzione del file. Nello specifico sono tre:

Questi metodi devono essere chiamati opportunamente in modo da:

  1. Mettere in pausa la riproduzione se l’applicazione viene messa in background (sfruttando il metodo onPause())
  2. Riprendere la riproduzione se l’applicazione viene riattivata (sfruttando il metodo onResume())
  3. Fermare definitivamente la riproduzione quando chiude l’applicazione (sfruttando il metodo onDestroy())

Conclusioni

Adesso la vostra app è in grado di riprodurre audio in sottofondo. La riproduzione si fermerà quando l’app và in background e riprenderà dallo stesso punto quando verrà riattivata l’applicazione.

Ecco invece il progetto eclipse completo per testarne il funzionamento. Se avete domande o suggerimenti pubblicate un commento!

TizianoZullo.it

Informazioni sull'autore

Laureato nel 2012 in informatica ho maturato qualche anno di esperienza sullo sviluppo di applicativi per il web e applicativi per Android. Grande appassionato di informatica in generale, di ciclismo e di fotografia, dedico gran parte del mio tempo a queste attività.

Rispondi

*

Questo sito raccoglie dati statistici anonimi sulla navigazione, mediante cookie installati da terze parti autorizzate, rispettando la privacy dei tuoi dati personali e secondo le norme previste dalla legge. Continuando a navigare su questo sito, cliccando sui link al suo interno o semplicemente scrollando la pagina verso il basso, accetti il servizio e gli stessi cookie.
Leggi informativa