Ich wollte meinem Projekt nur gerade eben noch etwas Sound hinzufügen, und da passiert es...
Die Abspielroutine playSound() wird auch von statischen Methoden aufgerufen.
Also deklariere ich playSound() als
.
Allerdings gibt es darin den Aufruf
der natürlich nicht zulässig ist, da getClass() nicht statisch ist.
Ok, denke ich mir, also referenziere ich direkt mit dem Namen:
Das ist statisch, wird also fehlerfrei compiliert. Im Testlauf hört man aber nichts; der audioInputStream bleibt null und playSound() wirft eine NullPointerException.
Als non-static funktioniert playSound() einwandfrei.
Was tun?
Die Abspielroutine playSound() wird auch von statischen Methoden aufgerufen.
Also deklariere ich playSound() als
Code:
static void
Allerdings gibt es darin den Aufruf
Java:
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(
getClass().getResourceAsStream("/myProject/sound.wav")
);
der natürlich nicht zulässig ist, da getClass() nicht statisch ist.
Ok, denke ich mir, also referenziere ich direkt mit dem Namen:
Java:
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(
Myproject.class.getResourceAsStream("/myProject/sound.wav")
);
Als non-static funktioniert playSound() einwandfrei.
Was tun?