[英]Javafx can't play mp3 file with MediaException on ubuntu 20
Media media = new Media(new File("assets/audios/shoot.mp3").toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();
Exception in thread "main" 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:518)
at javafx.scene.media.MediaPlayer.<init>(MediaPlayer.java:421)
at com.aldora.tankwar.Tools.playSound(Tools.java:18)
at com.aldora.tankwar.App.main(App.java:146)
Caused by: com.sun.media.jfxmedia.MediaException: Could not create player!
at com.sun.media.jfxmediaimpl.NativeMediaManager.getPlayer(NativeMediaManager.java:295)
at com.sun.media.jfxmedia.MediaManager.getPlayer(MediaManager.java:118)
at javafx.scene.media.MediaPlayer.init(MediaPlayer.java:474)
com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.createMediaPlayer
throws media error: ERROR_MEDIA_NULLcom.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.createMediaPlayer
抛出媒体错误:ERROR_MEDIA_NULL After some trial and error, I found this can't be walked around by upgrading javafx, switching from javafx11 to javafx16 can solve it.经过反复试验,我发现升级javafx无法解决这个问题,从javafx11切换到javafx16可以解决它。 javafx download link
javafx下载链接
The problem is in java's "sound.properties" config file.问题出在 java 的“sound.properties”配置文件中。 I'm now on Ubuntu 20.04, with java-11-openjdk, so, edited
/etc/java-11-openjdk/sound.properties
and added the following lines at the end:我现在在 Ubuntu 20.04 上,使用 java-11-openjdk,因此,编辑
/etc/java-11-openjdk/sound.properties
并在末尾添加以下行:
javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider
javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider
javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider
javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider
For deep in, read: https://keithp.com/blogs/Java-Sound-on-Linux/如需深入了解,请阅读: https://keithp.com/blogs/Java-Sound-on-Linux/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.