Kas*_*rah 8 java eclipse javafx pathname
我今天花了好几个小时来查看如何在日食中获得某种形式的音频,并且在每一步都遇到了麻烦.目前我有一些应该工作,但我收到一个错误:
线程"main"中的异常java.lang.IllegalArgumentException:期望的文件名作为com.sun.javafx.css.parser.Css2Bin.main中的参数(Css2Bin.java:44)
我基本上是从有人工作的人那里复制了这个.我想说FX lib应该添加到应有的位置.我知道这不是幻想,但我只是尝试了基础知识.
package b;
import java.io.File;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
public class test {
public static void main(String[] args){
String uriString = new File("C:\\Users\\Mike\\workspace\\b\\src\\hero.mp3").toURI().toString()
MediaPlayer player = new MediaPlayer( new Media(uriString));
player.play();
}}
Run Code Online (Sandbox Code Playgroud)
我也尝试了许多不同的路径名,以防它没有运气错误,我也试着通过转到属性ex:/b/src/hero.mp3来复制并粘贴我在eclipse中获得的路径名.我将不胜感激,让我摆脱这场噩梦.
我怀疑您在引用嵌入式资源时遇到问题。嵌入式资源是包含在应用程序上下文中的任何文件(即,在本例中,存储在应用程序 Jar 中)。
为了获取对这些资源的引用,您需要使用Class#getResource,它返回一个URL,然后您可以根据您的要求使用它来加载资源,例如......
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
String path = Test.class.getResource("/Kalimba.mp3").toString();
Media media = new Media(path);
MediaPlayer mp = new MediaPlayer(media);
mp.play();
System.out.println("Playing...");
}
public static void main(String[] args) {
launch(args);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,除非我将其包装在上下文中,否则我无法让它工作Application......
| 归档时间: |
|
| 查看次数: |
24592 次 |
| 最近记录: |