Javafx无法在ubuntu 20上播放带有MediaException的mp3文件 [英] Javafx can't play mp3 file with MediaException on ubuntu 20

查看:41
本文介绍了Javafx无法在ubuntu 20上播放带有MediaException的mp3文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  1. 配置:ubuntu 20,javafx 11,jdk15,语言级别8
  2. 问题:mp3文件可以直接在ubuntu上播放,但不能在以下代码中播放,但是该代码可用于播放* .wav和* .aiff音频文件,但mp3除外:

    Media media = new Media(new File("assets/audios/shoot.mp3").toURI().toString());
        MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.play();

  1. 例外:

    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)

  1. 调试结果: com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.createMediaPlayer 引发媒体错误:ERROR_MEDIA_NULL
  1. debug result: com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.createMediaPlayer throws media error: ERROR_MEDIA_NULL

推荐答案

经过反复试验,我发现无法通过升级javafx来解决这个问题,从javafx11切换到javafx16可以解决该问题. javafx下载链接

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 download link

这篇关于Javafx无法在ubuntu 20上播放带有MediaException的mp3文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆