2015-01-04 22 views
5

Ho creato la musica su crea in questo modo:Come riprodurre musica in loop in libgdx?

music_background = Gdx.audio.newMusic(Gdx.files.internal("background_music.mp3")); 
music_background.setLooping(true); 

il problema che la sua non giocare in loop.

Ho anche provato senza il ciclo e invece registrando per setOnCompletionListener ma anche non riproduce. quando ho provato a ricaricare il file in questo modo:
music_background = Gdx.audio.newMusic(Gdx.files.internal("background_music.mp3")); All'interno dell'evento ha funzionato, ma solo una volta.

penso che il problema è che quando il suo fare la riproduzione del file stesso smaltire ...

Come posso riprodurre musica in loop? cosa sto facendo di sbagliato?

+1

Il nome del metodo è 'setLooping' non' SetLoop'. Potete anche provare i metodi 'isLooping()' e 'getPosition()' dopo la fine della musica per il debug. – Rara

+0

sì, l'ho scritto io stesso e non l'ho copiato dal mio codice. Ho provato isLooping() e getPosition(). Il primo methond è vero e il secondo è 0 .. cosa posso fare con esso? –

+0

Ho provato il metodo di caricamento degli asset 'Musica' nella mia app. Funziona e va bene. Ho anche provato a ottenere i valori 'isLooping()' e 'getPosition()' con 'OnCompletionListener' per confrontarlo con i vostri ma il metodo non è stato chiamato quando la musica ricomincia. Probabilmente è chiamato solo quando la musica si interrompe, cosa che non accade mai nel mio caso. Un altro paio di pensieri: 1. Puoi provare qualche altro mp3? Potrebbe essere il tuo attuale è danneggiato? 2. Il campo 'music_background' è dichiarato come' statico'? – Rara

risposta

6

Lo stai facendo correttamente, ma gli MP3 non sono buoni per il loop, usa invece OGG. Gli MP3 aggiungeranno un breve silenzio all'inizio, OGG o WAV non hanno questa limitazione.

Ecco il mio codice che funziona perfettamente:

menuMusic = Gdx.audio.newMusic(Gdx.files.internal("data/sounds/music_menu.ogg"); 
menuMusic.setLooping(true); 
menuMusic.play(); 

Se si dispone di tutti i file in formato MP3 basta scaricare Audacity, importare È MP3, modificare via l'audio in bianco e l'esportazione come OGG.