Java Runtime et Winamp
Résolu
Soldiertt
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
famous -
famous -
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.
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.
A voir également:
- Java Runtime et Winamp
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Java runtime environment - Télécharger - Langages
- Winamp - Télécharger - Lecture & Playlists
- Directx runtime - Télécharger - Pilotes & Matériel
5 réponses
Tu peu aussi aussi télécommander winamp via HTTP grace au plugin HTTPQ , c'est TRES pratique :
http://httpq.sourceforge.net/faq.html
http://httpq.sourceforge.net/faq.html
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 ...
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 ...
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.
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.
tu peux peut être intégrer ceci dans ton programme
http://www.supinfo-projects.com/fr/2005/lecteurmp3/
http://www.supinfo-projects.com/fr/2005/lecteurmp3/
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question