【问题标题】:JavaFX media player on Ubuntu 16.04Ubuntu 16.04 上的 JavaFX 媒体播放器
【发布时间】:2016-07-02 20:05:44
【问题描述】:

我尝试使用 javafx 媒体播放器播放简单的 mp3 文件,在 Windows 上一切正常,但 Ubuntu 16.04 上的相同代码会导致此错误:

应用程序启动方法中的异常 线程“主”java.lang.RuntimeException 中的异常:应用程序启动方法中的异常 在 com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917) 在 com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182) 在 java.lang.Thread.run(Thread.java:745) 原因:MediaException:UNKNOWN:com.sun.media.jfxmedia.MediaException:无法创建播放器! :com.sun.media.jfxmedia.MediaException:无法创建播放器! 在 javafx.scene.media.MediaException.exceptionToMediaException(MediaException.java:146) 在 javafx.scene.media.MediaPlayer.init(MediaPlayer.java:511) 在 javafx.scene.media.MediaPlayer.(MediaPlayer.java:414) 在 Test.start(Test.java:24) 在 com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) 在 com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) 在 com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) 在 java.security.AccessController.doPrivileged(本机方法) 在 com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) 在 com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) 在 com.sun.glass.ui.gtk.GtkApplication._runLoop(本机方法) 在 com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(GtkApplication.java:139) ... 1 更多 原因:com.sun.media.jfxmedia.MediaException:无法创建播放器! 在 com.sun.media.jfxmediaimpl.NativeMediaManager.getPlayer(NativeMediaManager.java:274) 在 com.sun.media.jfxmedia.MediaManager.getPlayer(MediaManager.java:118) 在 javafx.scene.media.MediaPlayer.init(MediaPlayer.java:467) ... 11 更多

而且我认为我没有犯任何错误,是否有人在 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();
}

}

【问题讨论】:

标签: java ubuntu javafx


【解决方案1】:

我的坏人,直到现在我才知道 ubuntu 16.04 不在 javafx 1.8 支持的操作系统中。

我很抱歉!

【讨论】:

  • 哈哈,a bug report 在这里。它已在 Java 9 中修复。
【解决方案2】:

我遇到了同样的问题。事实证明,JavaFXUbuntu 16.04 下不支持MP3 文件,但对于WAV files 可以正常工作。

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    相关资源
    最近更新 更多