Comment stoper un thread

Résolu
nassertom Messages postés 43 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 19 août 2009 - 8 mai 2007 à 01:09
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011 - 4 juin 2007 à 18:21
Bonjour,

dans mon application j'ai ajouté la lecture audio depuis le web. j'effectue ce traitement dans un thread afin de ne pas figer mon application mais aussi afin de pouvoir arrêter la chanson (voir changer de morceau).

or je n'arrive pas à communiquer avec mon thread. exemple :

    class PlayerThread extends Thread
 {
 int currentTread;
     private boolean isRunning;


  public void run()
  {
   try
   {
         isRunning=true;


    player.play();
   }
   catch( Exception e )
   {
    e.printStackTrace();
   }
  }
 }
durant la lecture (player.play();) l'execution du code est suspendu et de ce fait je ne peux pas depuis mon thread faire un test sur un flag afin de quiter.

d'avance merci pour votre aide
NasserTom
NasserTom

3 réponses

cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
4 juin 2007 à 18:21
salut,
l'arret du thread ne peut s'appliquer avec player.interrupt(); car cette commande a été annulée. essai peut étre de gérer tout dans ton thread, avec des boolean ou des variable static c'est tout.
je sais pas mais tu peux ajouter une variable stoper=false;
dans ton prog , enfin celui du thread tu dois ajouter une condition tel que if stoper=false play; enfin je sais pas essai déja ça. boncourage.
3
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
8 mai 2007 à 09:20
Salut,
Pour l'interrompre :
if (player.isAlive()) { player.interrupt(); }
0
nassertom Messages postés 43 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 19 août 2009
8 mai 2007 à 15:18
Bonjour,

merci pour ta reponse, mais cela ne fonctinne pas (la commande n'est pas reconu)
cela est de ma faute je n'ai pas precisé que j'utilise
import javazoom.jl.player.Player;

Je trouve que ce lecteur n'a pas beaucoup de fonction... (exemple j'ai la position durant la lectur mais inexploitable car je n'ai pas la durée total ?, pause, replay,..)

mais c'est le seul que j'ai trouvé qui fonctionne avec "un InputStream"

Merci

NasserTom
0
Rejoignez-nous