Autore Topic: ciclo for ad un Thread  (Letto 455 volte)

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
ciclo for ad un Thread
« il: 18 Febbraio 2014, 10:20:30 CET »
0
ciao a tutti!!

con questo codice dopo il suono di una batteria ho una pausa di 5 secondi ma il ciclo è infinito!!!
vorrei inserire un limite!!! cioè far suonare solo per 10 volte...

questo è il codice:

Codice (Java): [Seleziona]
public void time(View view) {          
                 (new Thread(new Runnable() {
                    @Override
                    public void run() {
       
                        while (!Thread.interrupted())
                            try
                            {
                                runOnUiThread(new Runnable() {

                                    @Override
                                    public void run()
                                    {
                                        mediaPlayer1 = new MediaPlayer();
                                        mediaPlayer1 = MediaPlayer.create( MainActivity.this, R.raw.batteria6 );
                                                mediaPlayer1.start();
                                                mediaPlayer1.setOnCompletionListener( new OnCompletionListener() {
                                                        @Override
                                                        public void onCompletion(MediaPlayer mp) {
                                                                mediaPlayer1.release();
                                                        }
                                                    });
                                    }
                                });
                                Thread.sleep(5000);
                            }
                            catch (InterruptedException e)
                            {
                                e.printStackTrace();
                            }
                    }
                })).start();
         }

help!!!!!!
tutti possiamo programmare...basta volerlo!!!

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:ciclo for ad un Thread
« Risposta #1 il: 18 Febbraio 2014, 10:49:12 CET »
0
se non interrompi il thread non sarà mai "isInterrupted"....
perchè poi fare un while? se devi solo fare il play di un sound non ti serve un loop
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
Re:ciclo for ad un Thread
« Risposta #2 il: 18 Febbraio 2014, 11:17:13 CET »
0
Ciao nicola!!!

il mio obbiettivo è quello di far ripartire il suono per 5 volte!!!

ovviamente dopo lo sleep!!!



Post unito: 18 Febbraio 2014, 11:44:41 CET
Al posto del while ho inserito il ciclo for:

for (count = 0; count <= 5; count++) {

ma non rispetta il conto...cioè la musica suona per 3 volte!!!

come mai???
« Ultima modifica: 18 Febbraio 2014, 11:44:41 CET da paul78, Reason: Merged DoublePost »
tutti possiamo programmare...basta volerlo!!!