1

私はカードゲームを作っていますが、ほぼ完成しています。最後にやりたいことは、バックグラウンド ミュージックを再生することです。ファイルをデフォルト パッケージにコピーして、ゲームの単一の jar ファイルを作成すると、音楽はすべてのコンピューターで再生されますか? 現在、私のPCでは、のようなファイルに特定のパスを指定することで、問題なく実行されています"C:\\samp.wav";。ただ、jarファイルを作って別のPCで動かすとうまく動かないのではないかと心配です。があると思いますFileNotFoundException。私は正しいですか、それとも間違っていますか?

カードの画像には、次の行を使用しています。

jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/1.jpg")));

デフォルトのパッケージに挿入した写真。音楽ファイルにも同じことをしたいのですが、どうすればよいですか? NetBeans を使用しています。

4

2 に答える 2

1

アプリケーション jar 内に wav ファイルを含める必要があります。これにより、ユーザーのファイル システムでファイルのコピーを管理する必要がなくなります (たとえば、UNIX や Mac などでは、 を介してハード ドライブにアクセスできないことに注意してくださいC:/...)。

たとえば、wav ファイルをアプリ jar のルート ( app.jar/samp.wav)に配置すると、次のようになります。

InputStream is = getClass().getClassLoader().getResourceAsStream("samp.wav");

または、アプリの jar ルート ( app.jar/sounds/samp.wav) に「sounds」ディレクトリがある場合:

InputStream is = getClass().getClassLoader().getResourceAsStream("sounds/samp.wav");

Java での wav ファイルの再生に関する追加情報については、この投稿を確認してください (ただし、この問題は既に解決されていると思います)。別のスレッドで再生することも検討してください。Java でメディア ファイルを管理する例については、この Webも確認してください。

于 2012-11-26T21:21:44.513 に答える