2017-02-06 54 views
3

Raspberry Pi(RASPBIAN JESSIE)でJavaFXプロジェクトを実行する必要があります。このプロジェクトには、WebViewとMediaView/MediaPlayerの使用が含まれています。 OracleプラットフォームではJavaFXをサポートしていないため、Gluon(JavaFX Embedded SDK 8.60.8)でJavaFXポートを試しました。 WebViewはほぼ完全に機能します。私はMediaPlayerの/ MediaViewを使用してビデオを再生したいときしかし、私は例外を取得:Raspberry PiでJavaFXを使用してビデオを再生する

Error in GstPipelineFactory: can't find element for factory named qtdemux 
Exception in Application start method 
java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389) 
    at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767) 
Caused by: java.lang.RuntimeException: Exception in Application start method 
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$156(LauncherImpl.java:182) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: MediaException: UNKNOWN : com.sun.media.jfxmedia.MediaException: Could not create player! : com.sun.media.jfxmedia.MediaException: Could not create player! 
    at javafx.scene.media.MediaException.exceptionToMediaException(MediaException.java:146) 
    at javafx.scene.media.MediaPlayer.init(MediaPlayer.java:511) 
    at javafx.scene.media.MediaPlayer.<init>(MediaPlayer.java:414) 
    at zirro.App.start(App.java:21) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163(LauncherImpl.java:863) 
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(PlatformImpl.java:326) 
    at com.sun.javafx.application.PlatformImpl.lambda$null$174(PlatformImpl.java:295) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$175(PlatformImpl.java:294) 
    at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92) 
    at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51) 
    ... 1 more 
Caused by: com.sun.media.jfxmedia.MediaException: Could not create player! 
    at com.sun.media.jfxmediaimpl.NativeMediaManager.getPlayer(NativeMediaManager.java:224) 
    at com.sun.media.jfxmedia.MediaManager.getPlayer(MediaManager.java:104) 
    at javafx.scene.media.MediaPlayer.init(MediaPlayer.java:467) 
    ... 10 more 

任意のアイデアに成功ラズベリーパイの上のWebViewとMediaView/MediaPlayerのでJavaFXアプリケーションを実行する方法?

答えて

4

WebViewとMediaは決してJavaFX ARMディストリビューションの一部ではありませんでしたが、Gluonは最近hereからダウンロードして最新のARM用JDK(here)をインストールできる組み込みSDKに追加しました。

メディアは通常、通常のJessieディストリビューションに完全にはインストールされていないネイティブドライバに依存しているため、いくつかの追加ステップが必要です。

まずこれらのドライバをインストールします。

sudo apt-get install gstreamer0.10-plugins-good 
sudo apt-get install gstreamer0.10-plugins-bad 

/etc/apt/sources.listを編集して、最後に追加します。

deb http://ftp.uk.debian.org/debian/ wheezy main 
deb-src http://ftp.uk.debian.org/debian/ wheezy main 

ファイルを保存します(Ctrl + Oを、Ctrlキー+ X)。

最後に更新し、ドライバをインストールします。

sudo apt-get update 
sudo apt-get install gstreamer0.10-ffmpeg 
sudo apt-get install gstreamer0.10-alsa 

は今、あなたは再びあなたのJavaFXアプリケーションを実行しようとすることができます。

再度同じ例外(MediaException: UNKNOWN)が見つかった場合は、このメッセージが表示されているかどうかを確認してください:Error in GstPipelineFactory、見つからないドライバを確認してインストールしてください。

+0

ありがとうございます。それは魅力のように働く。 – FeroG

関連する問題