JavaVM WARNING: JAWT_GetAWT must be called after loading a JVM
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: Can't load JAWT
at com.sun.jna.Native.getWindowHandle0(Native Method)
at com.sun.jna.Native$AWT.getComponentID(Native.java:1879)
at com.sun.jna.Native.getComponentID(Native.java:253)
at uk.co.caprica.vlcj.player.embedded.videosurface.CanvasVideoSurface.attach(CanvasVideoSurface.java:69)
at uk.co.caprica.vlcj.player.embedded.DefaultEmbeddedMediaPlayer.attachVideoSurface(DefaultEmbeddedMediaPlayer.java:156)
at uk.co.caprica.vlcj.player.embedded.DefaultEmbeddedMediaPlayer.onBeforePlay(DefaultEmbeddedMediaPlayer.java:315)
at uk.co.caprica.vlcj.player.DefaultMediaPlayer.play(DefaultMediaPlayer.java:705)
at uk.co.caprica.vlcj.player.DefaultMediaPlayer.playMedia(DefaultMediaPlayer.java:222)
at viziosecure360.Travizia.AddPlayer(Travizia.java:675)
at viziosecure360.Travizia.setDefault(Travizia.java:234)
at viziosecure360.Travizia$1.run(Travizia.java:187)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Répondre
vlcj/LibVLC nécessite un composant AWT lourd pour rendre sa vidéo.
Il n'y a plus d'AWT dans JDK 1.7 et plus tard sur OSX. La boîte à outils de l'interface utilisateur sur OSX est maintenant entièrement légère. Par conséquent, la manière optimale d'utiliser vlcj sur OSX ne fonctionne plus.
Ce que vous avez à faire est d'utiliser ce que l'on appelle le "direct" media player [1] plutôt que celui "intégré". L'inconvénient de l'utilisation du lecteur multimédia direct est que vous devez rendre la vidéo vous-même en utilisant une image BufferedImage, une image volatile accélérée par le matériel, un PixelWriter ou autre chose.
Cette approche utilise généralement plus de mémoire et plus de CPU, et est un peu plus gênant. Sur le plan positif, il est possible d'obtenir une lecture vidéo HD fluide en utilisant cette méthode. De plus, vous pouvez traiter le tampon vidéo d'une manière ou d'une autre si vous le souhaitez, et superposer facilement des widgets/étiquettes légers sur le dessus de la vidéo en utilisant cette approche.
Un exemple fourni dans les sources de test vlcj montre une façon de procéder (il y a trop de code à reproduire ici, donc je vais fournir a stable link [2]).
Il y a aussi une longue discussion dans le project issue tracker [3] sur ce sujet.
[1] http://caprica.github.io/vlcj/javadoc/3.0.0/uk/co/caprica/vlcj/player/direct/DirectMediaPlayer.html
[3] https://github.com/caprica/vlcj/issues/205
Etonnamment, il y a un potentiel, mais clairement sous-optimale, la solution qui consiste à utiliser un ordinateur Windows 1.7/1.8 JVM sur OSX en utilisant Wine. Je n'ai pas essayé mais on m'a dit que ça fonctionnait.
- 1. VLC Compilation Mac OS
- 2. Protocole d'assistance VLC sur Mac OS X
- 3. Problèmes d'installation: pentaho 5.1 ce sur JDK 1.8
- 4. Problèmes d'installation gnuplot sur mac os x
- 5. Mac OS X Java Update: où est mon jdk?
- 6. Installation de JDK 7 sur Mac OS 10.6.8
- 7. Comment obtenir JDK 1.5 sous Mac OS X
- 8. py2exe mac os x problèmes d'installation
- 9. Changer la version JDK de 1.8 à 1.6
- 10. Comment puis-je exécuter Eclipse sous OS X avec JDK 1.8?
- 11. PropertyGrid comme contrôle dans Mac OS
- 12. Mac OS X - contrôle autre fenêtre
- 13. Problèmes JDK - Impossible de charger les fichiers de classe
- 14. Mac OS java Accueil ambiguty
- 15. L'ensemble n'est pas valide Mac OS X
- 16. Installation Heroku Dépannage sous Mac OS 10.6.6
- 17. Problèmes de démarrage de MySQL sous Mac OS X
- 18. Problèmes de profil VisualVM et Mac OS X
- 19. Qt4Dotnet sur Mac OS X
- 20. Problèmes de compatibilité avec l'application Mac OS X 10.6
- 21. Problèmes d'installation bibliothèque Haskell-regex PCRE sur Mac OS X
- 22. les problèmes d'autorisations sous Mac OS X Tiger Server
- 23. Installation de problèmes Rmagick sous Mac OS X lion
- 24. Problèmes d'installation: mysql2 sur Mac OS X Lion + Ruby 3
- 25. Contrôle de classement pour le cacao (Mac OS)
- 26. Cakephp cuisson problèmes de vue sur mac os
- 27. Mac OS X - Contrôle d'édition de chronologie/courbe Cocoa
- 28. NetworkInterface.getNetworkInterfaces() ne fonctionne pas sur JDK 1.7 OS X?
- 29. Installation de Java 6 sous Mac OS
- 30. Erreur installation rmagick sous Mac OS X
Pouvez-vous clarifier votre question et partager des codes? – Raptor
Envisagez de fournir un [exemple exécutable] (https://stackoverflow.com/help/mcve) qui illustre votre problème. Cela entraînera moins de confusion et de meilleures réponses – MadProgrammer
Cela semble lié à: http://stackoverflow.com/questions/13571726/cant-load-libgdx-desktop-app-on-mac-osx ce qui implique que la bibliothèque lwgl qui est être utilisé dans jvlc n'est pas compatible avec java 7 (ou plus récent) sur OSX. – Petesh