IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SWT/JFace Java Discussion :

Lancer un .exe depuis une application SWT


Sujet :

SWT/JFace Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 52
    Points
    52
    Par défaut Lancer un .exe depuis une application SWT
    Bonjour,

    Je dois lancer un .exe à partir d'une application Java (interface SWT).
    Cet exécutable sert à compresser une vidéo (h264).

    Pour celà, j'ai écrit le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      String path="D:\\videos\\input.avi";
      String path1="D:\\videos\\output.avi";
      final Process process = runtime.exec("D:\\ffmpeg-git-4f7dfe1-win32-shared\\bin\\ffmpeg.exe" +" "+"-i" +" "+path+" "+"-vcodec libx264"+" -y "+path1);
    Jusqu'à présent tout marche bien et j’obtiens le résultat voulu.

    Le problème apparait lorsque j'intègre ce code dans l'évènement d'un clic sur un bouton d'une application SWT. Ce qui se passe est que la compression ne se termine pas.
    Quand j'essaie de supprimer cette vidéo (semi-compressée) le système me signale que cette ressource est utilisée par un autre programme. Ce que je trouve encore plus bizarre est que lorsque je quitte l'application SWT, je trouve que la compression s'est terminée. (et je peux bien supprimer cette vidéo).

    A quoi est dû ce problème à votre avis ?

    Je vous remercie

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 021
    Points : 2 278
    Points
    2 278
    Par défaut
    Salut,
    c'est peut-être dû aux flux de sortie de la commande. Si tu consommes pas les sorties, ça peut bloquer l'appli.
    Personnellement je lance deux threads supplémentaires pour lire process.getInputStream() et process.getErrorStream(), c'est d'ailleurs assez galère mais je sais pas si y a une autre solution.
    Vive les roues en pierre

Discussions similaires

  1. lancer un .exe depuis une macro
    Par 20100. dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/02/2008, 10h42
  2. Lancer un .bat depuis une application Java
    Par shindara dans le forum Langage
    Réponses: 1
    Dernier message: 01/05/2007, 10h57
  3. Comment utiliser miso.exe depuis une application vb.net?
    Par tbdarkspirit dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/04/2007, 14h06
  4. Lancer un exe depuis une appli
    Par Kristian22 dans le forum Delphi
    Réponses: 3
    Dernier message: 08/12/2006, 12h43
  5. Lancer un exe depuis une barre d'outils office
    Par murphy99 dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 10/01/2006, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo