Hallo!
Ich versuche mit Java eine .wav Datei abzuspielen.
Das funktioniert in Netbeans 6.5 wunderbar…
Wenn ich jedoch die jar datei öffne gehts knacks, dann hör ich ne halbe Sekunde das Lied und aus. Wenn ich die Applikation beende gehts wieder Knacks.
Das restliche Programm läuft ohne Probleme weiter (Es werden zB auch Bilder aus der jar geladen.)
das steht im jFrame-Konstruktor:
URL resourceURL = this.getClass().getResource("/audio/victoriousReign.wav");
new FuckingAudioPlayerThread(resourceURL).start();
und das hier ist mein AudioPlayer:
public class FuckingAudioPlayerThread extends Thread {
URL audioFileURL;
public FuckingAudioPlayerThread(URL audioFileURL) {
this.audioFileURL = audioFileURL;
}
public void run(){
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(audioFileURL);
AudioFormat af = audioInputStream.getFormat();
int size = (int) (af.getFrameSize() \* audioInputStream.getFrameLength());
byte[] audio = new byte[size];
DataLine.Info info = new DataLine.Info(Clip.class, af, size);
audioInputStream.read(audio, 0, size);
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(af, audio, 0, size);
clip.start();
while(clip.isActive()){}
clip.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
Also, wie schon gesagt, wenn ich das Ding in Netbeans starte gehts einwandfrei.
Ich hab die jar auch in der Konsole ausgeführt, da krieg ich auch nichts, weder Exceptions noch Fehlermeldungen.
Habs auch mit folgenden Ansätzen probiert:
-Inputstream statt URL (getRersourceAsStream())
-File statt URL; jedoch auch mit getRersource, dann URL zu File. Fragt mich bitte nicht wieso
-Dann hab ich die wav in alle Möglichen packages verschoben und umgeändert, dann hab ich ungefähr 2 stunden gegoogelt, und da dann nach einigen stunden rumprobieren noch immer das gleiche Problem da war stand ich kurz davor mir einen anzusaufen.
Bitte daher bei euch um Hilfe.
Liebste Grüße und Dank im voraus