2011-10-17 27 views
0

私はテストゲーム用の単純なログイン画面を作成し、.mid音楽曲を再生しました。 .wavサウンドは、ボタンの上にマウスを置くと再生されます。ビルド+プログラムをコンパイルすると、両方のサウンドがネットビーンの中で再生されます。 netbeansの外で.jarファイルを実行すると、動作しません。任意の提案....wavファイルまたは.midファイルをnetbeansの外で再生するにはどうすればよいですか?

P.S.音はsrcフォルダ内のresourcesというフォルダ内にあります。 .midの音楽ではシーケンスを使用し、.wavではAudioInputStreamなどを使用します。

答えて

1

アプリケーションリソースにアクセスしようとしている可能性が最も高いのは、Fileです。アプリケーションリソースは、通常、Jarファイル内にあり、URLでアクセスする必要があります。 URLを形成するために、のようなものを使用します。それ以外の場合は

URL urlToMid = this.getClass().getResource("the.mid"); 

を、その後、次の最も可能性の高い問題は、リソースがJARに含まれていないことです。

0

コード例がなくても、あなたを助けるのは難しいです。例外はありますか?

私の推測では、NetBeansの外部で実行しているときにアプリケーションが音楽ファイルを見つけることができないと思います。あなたのホームディレクトリは、NetBeans(おそらくあなたのsrc/resourceフォルダを指している)から実行されている間は何らかの値に設定されていなければなりませんが、NetBeansの外部で実行するときは別のホームの場所を指定します。

0

ファイルが生成された.jarファイルに含まれるである場合、別の考えられる問題は大文字小文字の区別です。ファイルが通常のファイルシステム(NetBeans内など)からロードされる場合、ファイル名で大文字と小文字が区別されるかどうかは、オペレーティングシステムのファイルシステムによって異なります。 Windowsではそうではありません。

ファイルがクラスローダーを通じてロードされると(例:getResource()を使用)、ファイル名は大文字と小文字が区別され、Alert.wavalert.wavとは異なるファイルです。

ファイルシステムに表示されているのと同じ方法で、ソースコードのファイル名がであることを確認してください。正確にはにしてください。

関連する問題