3

(Eclipseで)相対パスを使用してJavaFX2メディアインスタンスを作成しようとしています。私はこれを書くことによってそれを試しました:

Media media= new Media("file://test.flv");

これにより、タイプMEDIA_INACCESSIBLEのMediaExceptionが発生します。ロードしようとしているファイルは、eclipseプロジェクトのルートフォルダーにあります。

私はこの質問に対する答えを知っています。Java/JavaFXでファイル(ファイルへのパス)をターゲットにする方法ですが、これは絶対パスまたはリソースとしてのファイルのロードのみを対象としています。

ありがとう

4

1 に答える 1

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());
于 2012-05-09T17:39:17.973 に答える