我正在尝试将一些声音实现到我正在处理的 JavaFX 项目中,并将 运行 实现到 IllegalArgumentException
I am trying to implement some sounds into a JavaFX project I am working on, and running into a IllegalArgumentException
因此,在您阅读的过程中,我正在尝试在我正在编写的 JavaFX 程序的主菜单上播放一些声音。我已将我尝试播放的 mp3 放在项目包中的 res 文件夹中的声音文件夹中。然而,当我调用它类似于我为 window 调用图像时,我得到一个 IllegalArgumentException 错误。
Media menuMusic = new Media("sounds/menu_music.mp3");
menuPlayer = new MediaPlayer(menuMusic);
menuPlayer.setAutoPlay(true);
menuPlayer.setVolume(0.8);
Here is a link to the photo of where the file is stored in the project.
我得到的错误是:
Caused by: java.lang.IllegalArgumentException: uri.getScheme() == null! uri == 'sounds/menu_music.mp3'
如果有人能帮助我,我将不胜感激。我从来没有在 JavaFX 中使用过 Media,所以据我所知,我可能做错了,谢谢!
menuPlayer = new Media(Paths.get("sounds/menu_music.mp3").toUri().toString());
" java.lang.IllegalArgumentException: uri.getScheme() == null! " error using JavaFX to play audio
编辑:正如@James_D 指出的那样。如果您尝试将上面的代码编译成 jar,上面的代码将失败。从资源中加载文件的正确方法如下。
menuPlayer = new Media(getClass().getResource("/sounds/menu_music.mp3").toExternalForm());
因此,在您阅读的过程中,我正在尝试在我正在编写的 JavaFX 程序的主菜单上播放一些声音。我已将我尝试播放的 mp3 放在项目包中的 res 文件夹中的声音文件夹中。然而,当我调用它类似于我为 window 调用图像时,我得到一个 IllegalArgumentException 错误。
Media menuMusic = new Media("sounds/menu_music.mp3");
menuPlayer = new MediaPlayer(menuMusic);
menuPlayer.setAutoPlay(true);
menuPlayer.setVolume(0.8);
Here is a link to the photo of where the file is stored in the project.
我得到的错误是:
Caused by: java.lang.IllegalArgumentException: uri.getScheme() == null! uri == 'sounds/menu_music.mp3'
如果有人能帮助我,我将不胜感激。我从来没有在 JavaFX 中使用过 Media,所以据我所知,我可能做错了,谢谢!
menuPlayer = new Media(Paths.get("sounds/menu_music.mp3").toUri().toString());
" java.lang.IllegalArgumentException: uri.getScheme() == null! " error using JavaFX to play audio
编辑:正如@James_D 指出的那样。如果您尝试将上面的代码编译成 jar,上面的代码将失败。从资源中加载文件的正确方法如下。
menuPlayer = new Media(getClass().getResource("/sounds/menu_music.mp3").toExternalForm());