我使用JavaFx方法播放音乐文件,但它不起作用(声音不播放)。我觉得问题出在我的文件位置上。我应该把.mp3放在我的java项目文件夹中的哪里,以便用一个简单的字符串引用它?或者还有其他引用方式吗?JavaFX Media采用字符串参数。
String test = "test.mp3";
Media x = new Media(test);
MediaPlayer mediaPlayer = new MediaPlayer(x);
mediaPlayer.play();
如果您已经阅读了Media
的JavaDoc,那么您就知道必须为正在使用的构造函数提供http、file或jar URI
实际上,从源代码来看,我想知道您没有得到IllegalArgumentException
。
但是,使用Class.getResource(...).toURI().toString()
可以获得要提供给Media
构造函数的String
对哪个Class
对象进行调用以及为getResource()
方法提供的内容的组合取决于文件的布局方式
如果除了你的类之外还有你的文件,getClass().getResource("file.name")
应该可以工作
如果您的文件位于类路径的根目录中,getClass().getResource("/file.name")
应该执行.
当然,您也可以向构造器提供任何其他有效的http、文件或jar URI。