6

Media-class只有一个构造函数:public Media(java.lang.String source)参见http://docs.oracle.com/javafx/2/api/javafx/scene/media/Media.html#Media%28java.lang.String%29

此构造函数获取 URI 作为字符串。我有一个 JavaFX 项目并将 WAV 文件放入该项目中。当我将项目部署为 JAR 时,我可以看到(例如,使用 7-Zip)WAV 文件也被导出。获取内容没有问题

MyApplicationClass.class.getResourceAsStream("/resources/test.wav").

但是,在已部署的 JAR 中为Media构造函数引用此 WAV 文件的正确 URI 是什么?URI

new Media("jar:.!/resources/test.wav")

不工作。URI"jar:resources/test.wav"也会失败(因为没有对 JAR 文件的引用)。

有人知道正确的 URI 吗?

4

1 回答 1

7

试试这个

new Media(MyApplicationClass.class.getResource("/resources/test.wav").toURI().toString())

媒体接受 jar uris 所以它应该可以正常工作

于 2013-03-27T14:33:59.973 回答