Ich versuche, eine Anwendung zu erstellen, wo, wenn ich auf ein JButton klicke, ein Lied abgespielt wird. Ich habe bereits herausgefunden, wie man JButtons spezifiziert. Ich kann jedoch keinen Weg finden, Sound zu spielen. Ich werde sun.audio nicht verwenden, so viele der Threads, die ich angeschaut habe, haben nicht funktioniert. Ich habe viele minderwertige Antworten gefunden. Irgendwann habe ich mich auf diesen Code festgelegt.Dateien zum Abspielen von Sound finden
public static synchronized void playSound(final String url) {
new Thread(new Runnable() {
public void run() {
try {
Clip clip = AudioSystem.getClip();
AudioInputStream inputStream = AudioSystem.getAudioInputStream(
Main.class.getResourceAsStream("/path/to/sounds/" + url));
clip.open(inputStream);
clip.start();
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}).start();
}
In meinem src-Ordner habe ich einen Ordner namens "Songs". Ich änderte den Dateipfad zu diesem: /Songs/
Dann habe ich versucht, die Funktion aufrufen eine WAV-Datei mit:
playSound("song.wav");
Und dann bekomme ich einen Null-Fehler. Ich glaube, das liegt daran, dass der Dateipfad nicht erkannt wird. Die Antwort auf mein Problem ist höchstwahrscheinlich sehr offensichtlich, aber irgendwie kann ich es nicht finden.