2011-02-09 6 views
2

私は作ったアプリケーションに音楽を追加しようとしました。最初は.wavというファイルで試してみましたが、アプリケーションが膨大になりすぎてどこにでもアップロードできなくなってしまいました。Javaで圧縮された音楽のjarファイル?

だから私は、.mp3にファイルを変更し、それらの両方が(私はそれらをエクスポートしていないとき、彼らは正常に動作しても)実行可能jarファイル上では動作しませんけれどもJMFJLayerを試してみました。

だから誰も実行可能なジャーで圧縮された音楽を再生する方法のヒントを得ましたか?

ここでエクスポートしたとき、それは例外をスローせずf = new File(u.toURI())で動作を停止し、JLayerためのコードです...

try { 

    URL u = cl.getResource("New Beginnings.mp3"); 
    f = new File(u.toURI()); 

} catch (URISyntaxException e1) { 
    e1.printStackTrace(); 
} 

try { 

    FileInputStream fis = new FileInputStream(f); 
    p = new Player(fis); 
    p.play(); 

} catch (Exception e) { 
    System.out.println(e); 
} 

編集:やったどこ

try { 

     InputStream fis = ClassLoader.getSystemClassLoader().getResourceAsStream(temp+".mp3"); 
     p = new Player(fis); 
     p.play(); 

    } catch (Exception e) { 
     System.out.println(e); 
    } 

答えて

1

:に上記のコードを変更することで固定サウンドファイルを正確に配置しますか?

あなたは、完全なパスを送ることによって、ファイルを読み、プロジェクト内の新しいパッケージを作成し、そこにリソースを配置する必要があります

元を。そして、音と呼ばれる新しいパッケージを作成します。

InputStream fis = ClassLoader.getSystemClassLoader().getResourceAsStream("/sounds/"+temp+".mp3"); 
    p = new Player(fis); 
    p.play(); 

正直に言うと、私は音でそれをしようとしなかったが、私は画像を使用する場合、この問題は私に起こりました。私はそれらをパッケージに入れ、すべて正常に動作しました。

+0

プロジェクト内に新しいパッケージを作成する必要はありません。src内に配置するだけで問題ありません。前述のように、コードを変更したときに修正しましたが、jarファイルに新しいファイルを作成することはできません。 :o – Skarion

+0

@スカリオンMP3ファイルがジャーの外にある場合、再生する方法は?私のアプリケーションは音楽プレーヤーの一種です。 – jeevs

+0

@Skarion jFileOpenerまたはそれが呼び出されたものであれば、URLを取得してプレーヤに送信します。 – Mazyod

関連する問題