J'ai une vidéo .MP4 placée dans le dossier "res/media" de mon projet. Je peux facilement lire cette vidéo dans mon application d'Eclipse en utilisant ce morceau de code:VLCJ - lire une vidéo à partir du dossier "res" fonctionne très bien en éclipse, mais pas à partir du fichier JAR exécutable
String url = getClass().getResource("/media/video.mp4").getFile();
url = new File(url).getPath();
showMedia(url); //the method that plays the video
je devais utiliser ce code, car en utilisant uniquement URL url = getClass().getResource("/media/video.mp4");
fait VLCJ ne peut pas accéder à la vidéo à l'aide de cette URL.
Lors de la création du fichier JAR exécutable, je reçois ces erreurs dans la console:
libdvdnav: Using dvdnav version 5.0.0
libdvdread: Could not open D:\Desktop\file:\D:\Desktop\app.jar!\media\video.mp4 with libdvdcss.
libdvdread: Can't open D:\Desktop\file:\D:\Desktop\app.jar!\media\video.mp4 for reading
libdvdnav: vm: failed to open/read the DVD
[1644d0ac] filesystem access error: cannot open file D:\Desktop\file:\D:\Desktop\app.jar!\media\video.mp4 (Invalid argument)
[1644d0ac] main access error: File reading failed
[1644d0ac] main access error: VLC could not open the file "D:\Desktop\file:\D:\Desktop\app.jar!\media\video.mp4" (Invalid argument).
[1645643c] main input error: open of `file:///D:/Desktop/file%3A/D%3A/Desktop/app.jar%21/media/video.mp4' failed
[1645643c] main input error: Your input can't be opened
[1645643c] main input error: VLC is unable to open the MRL 'file:///D:/Desktop/file%3A/D%3A/Desktop/app.jar%21/media/video.mp4'. Check the log for details.
Les bibliothèques sont chargées avec succès, et je peux même jouer une vidéo qui est en dehors de mon fichier JAR.
Des suggestions?
Et merci d'avance.
Merci pour la réponse. Mais 'getAbsolutePath();' renvoie un mauvais chemin à la vidéo du fichier jar: 'D: \ Desktop \ res \ media \ video.mp4' alors que le pot est sur mon bureau nommé" app.jar ", ressemble c'est ignorer le fichier jar. J'ai également essayé 'showMedia (" jar: // D: /Desktop/app.jar! /res/media/video.mp4 ");' et cela n'a pas fonctionné aussi bien. Qu'est-ce qui me manque ici? –
Si vous voulez jouer depuis le fichier jar, vous devez utiliser le format zip MRL que j'ai déjà décrit. Si vous voulez découvrir dynamiquement le chemin de votre fichier JAR au moment de l'exécution, vous devrez effectuer vous-même une manipulation de chaîne pour générer le fichier zip complet. – caprica