Moin ihr lieben Menschen,
nun bin gerade dabei das Hauptmenü für ein Spiel zu schreiben. Das ist mein erstes "GUI"-Spiel mit Java, also verzeiht mir mögliche Anfängerfehler.
Mit den grafischen Part meines Spiel hatte ich bis jetzt keine nennenswerten Probleme, aber nun weiß ich nicht, wie man Sound abspielen kann mit Java. Standesgemäß habe ich das mal gegoogelt und kamm auf folgende Seite: Playing Sound in Java
Hab gleich mal den Code dort kopiert und ausprobieren wollen, und wie es zu erwarten war, kommt ein Fehler bei raus. Kompilieren tue ich ohne Probleme, aber dann kommt eine NullPointerException bei der Ausführung (habe es mir mal über e.getMessage() ausgeben lassen in der Konsole und es kam "null" raus ^^ ). Der fehlerhafte Code im Konkreten (laut mir und Eclipse ):
Liege ich richtig in der Annahme, dass er die URL nicht richtig erkennt, deshalb dem InputStream ein "null" als URL übergegeben wird und er deshalb diese nicht abspielen kann? In der "Eclipse-API" steht zu getResource(...) Returns: A URL object for reading the resource, or null if the resource could not be found or the invoker doesn't have adequate privileges to get the resource., aber wieso kann er es nicht lesen? Die Datei exestiert wirklich unter dieser Direktion. Angemerkt, ich hatte das Problem auch Gestern beim Laden eines Bildes mittels einer URL, konnte es aber umgehen, durch Benutzung einer anderen Methode.
Könnt ihr mir helfen? Wo liegt der Fehler, bzw. was kann ich tun? Gibt es vielleicht eine andere bessere Lösung zum Laden von Sounds in Java?
Gruß Paul!
(Hier die komplette Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at com.sun.media.sound.StandardMidiFileReader.getSequence(Unknown Source)
at javax.sound.midi.MidiSystem.getSequence(Unknown Source)
at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unknown Source)
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at experiment.SoundClipTest.<init>(SoundClipTest.java:22)
at experiment.SoundClipTest.main(SoundClipTest.java:48))
nun bin gerade dabei das Hauptmenü für ein Spiel zu schreiben. Das ist mein erstes "GUI"-Spiel mit Java, also verzeiht mir mögliche Anfängerfehler.
Mit den grafischen Part meines Spiel hatte ich bis jetzt keine nennenswerten Probleme, aber nun weiß ich nicht, wie man Sound abspielen kann mit Java. Standesgemäß habe ich das mal gegoogelt und kamm auf folgende Seite: Playing Sound in Java
Hab gleich mal den Code dort kopiert und ausprobieren wollen, und wie es zu erwarten war, kommt ein Fehler bei raus. Kompilieren tue ich ohne Probleme, aber dann kommt eine NullPointerException bei der Ausführung (habe es mir mal über e.getMessage() ausgeben lassen in der Konsole und es kam "null" raus ^^ ). Der fehlerhafte Code im Konkreten (laut mir und Eclipse ):
Java:
URL url = this.getClass().getClassLoader().getResource("H:/Programmieren/MistsOfDalaran/src/experiment/gameOfThrones.mp4");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(url); //Hier kommt die Fehlermeldung
Clip clip = AudioSystem.getClip();
clip.open(audioIn);
clip.start();
Liege ich richtig in der Annahme, dass er die URL nicht richtig erkennt, deshalb dem InputStream ein "null" als URL übergegeben wird und er deshalb diese nicht abspielen kann? In der "Eclipse-API" steht zu getResource(...) Returns: A URL object for reading the resource, or null if the resource could not be found or the invoker doesn't have adequate privileges to get the resource., aber wieso kann er es nicht lesen? Die Datei exestiert wirklich unter dieser Direktion. Angemerkt, ich hatte das Problem auch Gestern beim Laden eines Bildes mittels einer URL, konnte es aber umgehen, durch Benutzung einer anderen Methode.
Könnt ihr mir helfen? Wo liegt der Fehler, bzw. was kann ich tun? Gibt es vielleicht eine andere bessere Lösung zum Laden von Sounds in Java?
Gruß Paul!
(Hier die komplette Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at com.sun.media.sound.StandardMidiFileReader.getSequence(Unknown Source)
at javax.sound.midi.MidiSystem.getSequence(Unknown Source)
at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unknown Source)
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at experiment.SoundClipTest.<init>(SoundClipTest.java:22)
at experiment.SoundClipTest.main(SoundClipTest.java:48))