有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Ubuntu 16.04上的java JavaFX媒体播放器

我尝试使用javafx media player播放简单的mp3文件,在windows上一切都很顺利,但Ubuntu 16.04上的相同代码会导致以下错误:

Exception in Application start method Exception in thread "main" 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$155(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.(MediaPlayer.java:414) at Test.start(Test.java:24) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(GtkApplication.java:139) ... 1 more Caused by: com.sun.media.jfxmedia.MediaException: Could not create player! at com.sun.media.jfxmediaimpl.NativeMediaManager.getPlayer(NativeMediaManager.java:274) at com.sun.media.jfxmedia.MediaManager.getPlayer(MediaManager.java:118) at javafx.scene.media.MediaPlayer.init(MediaPlayer.java:467) ... 11 more

我不认为我犯了任何错误,有没有人在ubuntu下遇到过类似的问题,因为我不知道是什么原因造成的

public class Test extends Application {

public static void main(String[] args) {
    launch(args);

}


@Override
public void start(Stage primaryStage) throws Exception {
    String musicFile = "/home/wrongway/Downloads/aaa.mp3";     // For example

    Media sound = new Media(new File(musicFile).toURI().toString());
    //  Media sound = new Media(musicFile.toString());
    System.out.println(musicFile.toString());
    MediaPlayer mediaPlayer = new MediaPlayer(sound);
    mediaPlayer.play();
}

}


共 (1) 个答案

  1. # 1 楼答案

    我的坏蛋们,直到现在我才意识到Ubuntu16.04不在JavaFX1.8支持的操作系统之列

    抱歉