我正在尝试使用相对路径(在Eclipse中)创建JavaFX 2媒体实例。我试过写这个:
Media media= new Media("file://test.flv");
这给了我一个MEDIA_INACCESSIBLE类型的MediaException。我正在尝试加载的文件位于我的eclipse项目根文件夹中。
我知道这个问题How to target a file (a path to it) in Java/JavaFX的答案,但这只涉及使用绝对路径或资源加载文件。
谢谢
答案 0 :(得分:5)
1。如果您要从相对于 .java/.class
文件的路径加载媒体,则必须使用资源加载。没有其他人可以确定他们的位置。
如果您因某些原因不喜欢原始资源,请添加.toExternalForm()
:
Media media= new Media(getClass().getResource("test.flv").toExternalForm());
2。如果您想加载相对于应用 workdir 的媒体,可以尝试下一步:
Media media = new Media(new File("test.flv").toURI().toString());