В настоящее время у нас возникают проблемы, возникающие в WebViewer в JavaFX в нашей среде Linux Redhat 6. Используя JavaFX 2.2 и Java 1.7.0.51, мы имеем WebViewer, который идет на HTML-страницу с тегом видео в нем.
Он отлично работает на наших ящиках Windows, но в окне linux мы получаем следующее исключение:
Exception in thread "JavaFX Application Thread" java.lang.IllegalThreadStateException
at java.lang.Thread.start(Thread.java:704)
at com.sun.webpane.sg.prism.WCMediaPlayerImpl.prepareToPlay(WCMediaPlayerImpl.java:208)
at com.sun.webpane.platform.graphics.WCMediaPlayer.fwkPrepareToPlay(WCMediaPlayer.java:290)
at com.sun.webpane.platform.WebPage.twkProcessMouseEvent(Native Method)
at com.sun.webpane.platform.WebPage.dispatchMouseEvent(WebPage.java:751)
at javafx.scene.web.WebView.processMouseEvent(WebView.java:983)
at javafx.scene.web.WebView.access$2600(WebView.java:81)
at javafx.scene.web.WebView$14.handle(WebView.java:1136)
at javafx.scene.web.WebView$14.handle(WebView.java:1134)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:64)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33)
at javafx.event.Event.fireEvent(Event.java:171)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3369)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3209)
at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3164)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1582)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2267)
at com.sun.javafx.tk.quantum.EmbeddedScene$2$1.run(EmbeddedScene.java:194)
at com.sun.javafx.tk.quantum.EmbeddedScene$2$1.run(EmbeddedScene.java:176)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.EmbeddedScene$2.run(EmbeddedScene.java:176)
at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:182)
at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:179)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:76)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication$3$1.run(GtkApplication.java:89)
at java.lang.Thread.run(Thread.java:744)
Я сформулирую очевидное, кажется, что поток, который генерируется из JavaFX, умирает, когда он пытается загрузить видео. Кто-нибудь еще сталкивался с подобными проблемами? Любые идеи о том, что попробовать? Мы попытались использовать очень конкретные версии кодеков H-264, но это не сработало. Любая идея о том, как вы все настроили среду linux/javafx для воспроизведения видео в JavaFX WebView, также будет полезна.
Кроме того, для уточнения приложения является Swing со встроенным JavaFX, однако он все еще встречается в чистой реализации JavaFX, а также немного отличается от Exception.
Спасибо, Натан
Обновление. Похоже, что мы не можем правильно установить кодеки. Будет обновляться с завтрашним ответом для дальнейшего использования.
Похоже, что у нас не было никаких правильных кодеков, встроенных в ОС, и что это была очень специфическая версия кодека. Хотя Redhat 6.5 не поддерживается конфигурацией, он по-прежнему работает так, как рекламируется в дистрибутиве. Кодеки, которые мы используем: libavcodec52 и libavformat52, как упоминалось здесь: http://www.oracle.com/technetwork/java/javafx/downloads/supportedconfigurations-1506746.html
Жаль, что исключение не дало объяснений тому, что действительно не так.