JavaFX MediaPlayer在Ubuntu 14.04 64位

时间:2014-09-26 21:33:00

标签: java configuration javafx ubuntu-14.04

我试图在Ubuntu 14.04 64位中执行下面的简单程序。

import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.media.*;
import javafx.stage.Stage;

public class simple extends Application {
  public static void main(String[] args) throws Exception { launch(args); }
  @Override public void start(final Stage stage) throws Exception {
    final MediaPlayer oracleVid = new MediaPlayer(
      new Media("http://download.oracle.com/otndocs/products/javafx/JavaRap/prog_index.m3u8")
    );
        oracleVid.setAutoPlay(true);
    stage.setScene(new Scene(new Group(new MediaView(oracleVid)), 540, 208));
    stage.show();

    oracleVid.play();
  }
}

我知道视频和音频格式是正确的。实际上,这个URL取自JavaFX的演示。此外,我已经使用JavaSDK 1.7和相同的硬件在Ubuntu 13.10中测试了应用程序,一切都很好。该应用程序也在Windows中执行。但是,当我在Ubuntu 14.04中尝试Java SDK 1.7和1.8时,它失败了。

我想这与我在配置中缺少的某些编解码器或14.04中没有的某些库有关。

对我来说最糟糕的是应用程序失败的方式。它不会抛出异常,它不会因分段错误而崩溃,它不会抱怨某些丢失的库。相反,它只显示一个背景颜色的窗口,没有声音,视频或任何类型的日志。

有没有人遇到同样的问题?我一直在浏览几个小时,没有。

EDIT。 我总是使用oracle-java。

2 个答案:

答案 0 :(得分:1)

这是在Ubuntu 14.04下运行的JavaFX的一个已知问题。

Java 8u40已修复该问题。

Java 8u40 early access builds可用,因此您可以测试修复程序并确保它在您的系统上运行。

答案 1 :(得分:-1)

对于那些寻找变通方法说明的人:

sudo apt-get install yasm
wget https://libav.org/releases/libav-0.8.16.tar.xz
tar xf libav-0.8.16.tar.xz
cd libav-0.8.16
./configure --enable-pic --enable-shared && make
sudo make install