Hallo liebe Java - Leute,
ich zweifle gerade ernsthaft an mir selbst. Ich habe folgenden Code um eine .wav Datei abzuspielen:
try{ File yourFile; AudioInputStream stream; AudioFormat format; DataLine.Info info; Clip clip; stream = AudioSystem.getAudioInputStream(yourFile); format = stream.getFormat(); info = new DataLine.Info(Clip.class, format); clip = (Clip) AudioSystem.getLine(info); clip.open(stream); clip.start(); System.out.println("laeuft"); } catch (Exception e) { System.out.println("laeuft nicht"); }
Wenn ich yourFile nun wie folgt instanziere, dann funktionier alles einwandfrei:
File yourFile = new File( "/home/user/workspace/project/bin/file.wav" );
Das ist aber natürlich alles andere als sauber. Deshalb wollte ich es eigentlich ja auch so lösen:
File yourFile = new File( getClass().getResource("/file.wav").toString() );
Im Debug - Mode, steht in letzterem Beispiel exakt das gleiche, wie in meinem konstanten String. Kein Unterschied festzustellen! Trotzdem erhalte ich beim Aufruf mit getResource folgende Exception:
java.io.FileNotFoundException: file:/home/user/workspace/project/bin/file.wav (No such file or directory)
Auch hier: der angezeigt Filename ist exakt der gleiche String, wie der konstante.
Kann mir das jemand erklären oder noch besser: Mir sagen, was ich falsch mache? Ich bin gerade sehr verwirrt.
Danke schon mal im voraus Lg
BB