我尝试使用javafx媒体播放器播放简单的mp3文件,并且在Windows上一切运行顺利,Ubuntu 16.04上的相同代码如何导致此错误:
Application start方法中的异常 线程" main"中的例外情况java.lang.RuntimeException:Application start方法中的异常 在com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917) at 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) 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个 引起: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();
}
}
答案 0 :(得分:1)
我的坏人,直到现在才知道ubuntu 16.04不属于javafx 1.8支持的操作系统。
道歉!
答案 1 :(得分:1)
我遇到了同样的问题。事实证明MP3
下的JavaFX
不支持Ubuntu 16.04
个文件,但WAV files
工作正常。