运行Java应用程序时出现Java非法参数异常

运行Java应用程序时出现Java非法参数异常,java,javafx,Java,Javafx,我正在尝试使用java构建一个小型视频播放器。我遇到一些错误,请帮助我修复它们 包装样品; 导入javafx.application.application; 导入javafx.fxml.fxmloader; 导入javafx.scene.Parent; 导入javafx.scene.scene; 导入javafx.stage.stage; 导入javafx.scene.paint.Color; 公共类主扩展应用程序{ @凌驾 public void start(Stage primarySt

我正在尝试使用java构建一个小型视频播放器。我遇到一些错误,请帮助我修复它们

包装样品;
导入javafx.application.application;
导入javafx.fxml.fxmloader;
导入javafx.scene.Parent;
导入javafx.scene.scene;
导入javafx.stage.stage;
导入javafx.scene.paint.Color;
公共类主扩展应用程序{
@凌驾
public void start(Stage primaryStage)引发异常{
Player Player=newplayer(“/Users/name/Desktop/play.mp4”);
场景=新场景(播放器,720480,颜色.黑色);
初级阶段。场景(场景);
primaryStage.show();
}
公共静态void main(字符串[]args){
发射(args);
}

}
媒体类需要有效的

因此,您的文件需要一个“模式”,例如
file:///Users/...


或者您可以使用
新文件(“/Users/name/Desktop/play.mp4”).toURI()
媒体构造函数正在查找URI,而不是文件路径。如果确实要为媒体指定文件(即用户在文件系统上指定的文件,例如通过
文件选择器
),则应将路径转换为有效的URI,该URI既有方案,又对路径中的任何无效字符(如空格)进行正确编码

如果您有一个
文件
对象,只需使用

File file = ... ;
Media media = new Media(file.toURI().toString());
如果文件被指定为字符串,则首先创建一个文件对象(尽管在任何实际情况下,您都应该从一个
文件开始):


请注意,如果媒体是应用程序的一部分(而不是在运行时提供给用户的文件系统),则应完全使用不同的技术,并将其视为一种资源。请参阅,例如,访问JavaFX中的资源。

Try<代码>file:///Users/name/
非常感谢,先生……不要自己创建URL。例如,如果文件名中有空格,则简单地预加
文件://
将失败。
public Player(String file){

    media = new Media(new File(file).toURI().toString());
    player = new MediaPlayer(media);
    view = new MediaView(player);
    mpane = new Pane();

    mpane.getChildren().add(view);

    setCenter(mpane);
    player.play();

}