繁体   English   中英

我正在尝试将一些声音实现到我正在处理的 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 文件夹中的 sound 文件夹中。 然而,当我称它为类似于我为窗口调用图像的方式时,我收到了 IllegalArgumentException 错误。

    Media menuMusic = new Media("sounds/menu_music.mp3");
    menuPlayer = new MediaPlayer(menuMusic);
    menuPlayer.setAutoPlay(true);
    menuPlayer.setVolume(0.8);

这是文件在项目中存储位置的照片的链接。

我得到的错误:

   Caused by: java.lang.IllegalArgumentException: uri.getScheme() == null! uri == 'sounds/menu_music.mp3'

如果有人可以帮助我,将不胜感激。 我从来没有在 JavaFX 中使用过媒体,所以据我所知,我可能完全错了,谢谢!

menuPlayer = new Media(Paths.get("sounds/menu_music.mp3").toUri().toString());

“ java.lang.IllegalArgumentException: uri.getScheme() == null! ” 使用 JavaFX 播放音频时出错

编辑:正如@James_D 指出的那样。 如果您尝试将其编译为 jar,上述代码将失败。 从资源加载文件的正确原因如下。

menuPlayer = new Media(getClass().getResource("/sounds/menu_music.mp3").toExternalForm());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM