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 ,
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:
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 :
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 :
Process p = new ProcessBuilder(("open" , "- a", "VLC", args).start();
Process p = new ProcessBuilder(("open" , "- a", "VLC", "\"args\"").start() ;
Process p = new ProcessBuilder(("open" , "- a", "VLC \"" + args + "\"").start() ;
mais rien ne se passe.
J'ai aussi essayé la chose suivante,
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é
Partager