Bonjour,

J'essaie d'intégrer la lecture de videos à un programme en utilisant le logiciel VLC (j'ai essayé avec d'autres "Video players" avec le même résultat).
Le code suivant marche très bien sous Windows ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
public class Test  
{
public Test()
{	
	try 
        {
             String myargs = "\"F:\\Cinephil\\Videos\\mavideo.mov\"" ;
	     Process p = new ProcessBuilder("E:/vlc/VLC.exe", myargs, "vlc://quit").start();
	     p.waitFor();
	}
        catch (Exception ex){System.out.println(ex.toString();} 	
}
 
public static void main( String[] args )
{   new Test();
}
}
Toutefois lorsque je l'adapte sous OS X je ne suis pas arrivé à ouvrir le fichier VIdeo. Évidemment j'ai fait tout un tas d'essais par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Process p = new ProcessBuilder("open", " - a", "VLC").start() ;
Ici je suis capable d'ouvrir VLC et de sélectionner le fichier à ouvrir.

Mais je n'arrive pas à passer les paramètres avec la commande. Rien ne se passe. Je définis le fichier video comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
String args = "\"/Volumes/cd Applications/Users/gerardmartinelli/Cinephil/Videos/mavideo.mov\"";
Le path me parait correct car si je tape
ls -l "/Volumes/cd Applications/Users/gerardmartinelli/Cinephil/Videos"
je vois bien la liste de mes videos.

J'ai donc essayé le choses suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Process p = new ProcessBuilder(("open" , "- a", "VLC", args).start();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Process p = new ProcessBuilder(("open" , "- a", "VLC", "\"args\"").start() ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Process p = new ProcessBuilder(("open" , "- a", "VLC  \"" + args + "\"").start() ;
mais rien ne se passe.

J'ai aussi essayé la chose suivante,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Process p = new ProcessBuilder("/Volumes/cd Applications/Applications/VLC.app", args).start()  ;
Mais dans ce cas j'ai le message"Permission denied", même si auparavant j'ai passé la commande chmod u+x VLC.app

Sans doute ai-je des messages d'erreur mais rien ne s'affiche (je développe sous Eclipse). Si oui, y-a-il un moyen de les diriger vers un fichier ?

Je suis conscient que c'est plus lié à l'environnement OS X qu'à purement Java mais si quelqu'un avait cette expérience j'apprécierais grandement


Merci d'avance.

Gégé