6

-classのコンストラクタは1つだけです。httpMedia://docs.oracle.com/javafx/2/api/javafx/scene/media/Media.html#Media%28java.lang.String%29public Media(java.lang.String source)を参照してください。

このコンストラクターは、URIを文字列として取得します。JavaFXプロジェクトがあり、このプロジェクト内にWAVファイルを配置しています。プロジェクトをJARとしてデプロイすると、(たとえば7-Zipを使用して)WAVファイルもエクスポートされていることがわかります。コンテンツを取得するのに問題はありません

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

Mediaしかし、コンストラクター用にデプロイされたJAR内のこの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())

メディアはjarurisを受け入れるため、正常に機能するはずです

于 2013-03-27T14:33:59.973 に答える