Menu

Java Runtime et Winamp [Résolu/Fermé]

Messages postés
15
Date d'inscription
mardi 9 août 2005
Dernière intervention
7 septembre 2008
- - Dernière réponse :  famous - 2 janv. 2008 à 11:51
HEllo,

Alors voici, j'ai développé une petite web-app qui est en sorte un super audiothèque de tous les mp3 sur mon pc.

Je donne la possibilité de jouer les différents morceaux mp3 en cliquant sur leur nom. Pour cela, j'utilise en java :

Runtime r = Runtime.getRuntime();
if (aTrack != null){
r.exec(winampPath + " " + aTrack);
...

ca marche seulement voila, winamp se lance "en background" et je ne sais pas l'arreter (execpté via taskmgr) . Il ne lance pas winamp normalement en donnant le focus sur la fenetre.

Ca vaut dire que je peux egalement manuellement lancer winamp normallement et lui faire jouer un autre morceau. une belle cacophonie.

l'utilisateur propriétaire de la tache winamp lancée par mon programme est "system", j'imagine que le probleme est là mais comment lui dire d'utiliser mon user ?

Ce problème ne se pose que lorsque j'ai déployé mon War dans tomcat 5. Bizarrement, en eclipse, en développement, avec ce même tomcat, je n'ai pas ce problème.

Une idée de piste, s'il vous plait ?

Merci d'avance.
Afficher la suite 

5 réponses

Meilleure réponse
1
Merci
Tu peu aussi aussi télécommander winamp via HTTP grace au plugin HTTPQ , c'est TRES pratique :


http://httpq.sourceforge.net/faq.html

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM a aidé 34602 internautes ce mois-ci

Messages postés
37697
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
13 décembre 2018
0
Merci
Salut

pour eviter que tu puisses lancer deux fois ce lecteur, tu peux t'orienter vers ceci

http://www.javafr.com/codes/TUTORIEL_DESIGN_PATTERN_SINGLETON/18540.aspx

ceci évite d'avoir plusieurs instances d'une classe ...

Soldiertt
Messages postés
15
Date d'inscription
mardi 9 août 2005
Dernière intervention
7 septembre 2008
-
Merci

mais dans le cas précis que je décris, je ne fais pas appel à une classe particulière. J'utilise simplement l'instruction :

Runtime.getRunTime().exec(<winamp path>....)

et à chaque nouvel appel, cela fonctionne en ce sens que le nouveau morceau est bien joué à la place de la lecture en cours.

Le seul problème est que je n'ai pas le contrôle sur le process Winamp qu'il a lancé. Etant donné qu'il n'a pas ouvert winamp en tant qu'application.

Autre conséquence, je peux faire un log-off et la musique continue à se jouer, c'est comme si il en avait fait un service. Ce que je ne veux pas.

Merci encore.
Messages postés
37697
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
13 décembre 2018
0
Merci
tu peux peut être intégrer ceci dans ton programme

http://www.supinfo-projects.com/fr/2005/lecteurmp3/

Messages postés
15
Date d'inscription
mardi 9 août 2005
Dernière intervention
7 septembre 2008
0
Merci
Hello,

Problème résolu.

L'astuce se trouve dans le fait que mon programme étant une web-app qui tourne sous Apache Tomcat 5.5, et que je lance tomcat en tant que service au démarrage, mon applic tourne en service et toutes les applications lancées avec :

Runtime.getRuntime().exec(...) tourneront comme des services.

Solution : dans les paramètres des services windows, cocher la case "Allow service to interact with desktop". (pour service Tomcat)

En conséquence, j'ai une console en plus qui démarre pour Tomcat, mais au moins, mes appels a Winamp se font correctement.
0
Merci
quel est le "code d'activation valide" pour winamp?
merci d répondre rapidement:)