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