2012-07-28 15 views

risposta

6

Non senza la presentazione di una patch per libgdx per quanto ne so i backend del suono sottostanti sia per OpenAL e Android non hanno nemmeno tenere traccia delle informazioni internamente, anche se l'API La musica ha una funzione isPlaying() e la funzione getPosition() come per il documentation.

+2

Questo è stato portato nella più recente ritrovo libGDX troppo (che conferma che non c'è API ATM): http://www.youtube.com/watch?v=Ppr7QPeMlMo. Credo che il work-around menzionato nel video sia sapere per quanto tempo funziona l'audio ... –

+1

Ho risolto due cose, rendendo i suoni più accettabili da riprodurre sovrapposti, e salvando l'ultimo tempo di riproduzione e la durata della riproduzione. Adoro comunque libgdx nonostante. – leech

0

solo impostare questo

sound.setLooping(false); 

questo modo non verrà eseguito di nuovo e di nuovo.

e per verificare se il suono è in riproduzione o non farlo.

fare una variabile booleana

boolean soundplaying; 

nel metodo render fare questo

if(sound.isPlaying()){ 
soundplaying =true 
} 

e fare un log

gdx.app.log("","sound"+soundplaying); 
+0

Penso che questa risposta sia corretta. Proprio al posto della classe 'Sound' usa la classe' Music' e ottieni tutto quello che vuoi - usa 'isPlaying()' o 'setOnCompletionListener (..)' e 'OnCompletionListener'. – monnef

Problemi correlati