2016-06-14 8 views
0

Ich entwickle ein 2D-Spiel in Java Slick2D. Spiel funktioniert gut und es gibt keine Fehler. Aber ich versuche Sound und Musik zu spielen. Jedenfalls konnte ich nicht spielen. Hier ist mein Code.spielen Sound und Musik in Slick2D Java-Gaming-Bibliothek

@Override 
     public void init(GameContainer gc,StateBasedGame sbg) throws SlickException{ 
      sound=new Sound("sounds/town.wav"); 
      sound.play(1f, 1f); 
      sound.play(); 
     } 

und ich habe verwendet jogg-0.0.7.jar, jorbis-0.0.17-1.jar, jorbis-0.0.15-1.jar. Es gibt keine Fehler, aber der Ton spielt nicht. Kannst du mir bitte eine Lösung geben?

Antwort

0

Ich poste dies für andere, die eine Antwort für diese Situation suchen. in Windows: Ich habe gerade den Speicherort der Bibliothek außerhalb des Projekts geändert. Dann funktionierte es nach dem Zurücksetzen des Bibliothekspfads von Projekteigenschaften. Aber in Linux funktionierte es gut, ohne etwas zu tun. Ich empfehle Ihnen, den Speicherort Ihrer Bibliothek außerhalb des Projekts zu ändern, wenn Sie sicher sind, dass Sie alle Bibliotheken korrekt hinzugefügt und einige Fehler erhalten haben.

1

Ihr Projekt scheint eingerichtet zu sein, da es keine Ausnahme gibt.

Ich empfehle Ihr Sound zu überprüfen, ob wirklich gespielt wurde:

sound.play() 
if(sound.playing){ 
System.print.out("works"); 
} 

Wenn diese ausdruckt „funktioniert“ Ihre .wav-Datei möglicherweise beschädigt. Sie könnten stattdessen versuchen, eine .ogg-Datei zu verwenden. Außerdem denke ich Slick unterstützt nur 8/16bit Mono/Stereo Format.

Eine andere Sache, die Sie versuchen könnten, ist, Ihren Code in den Update-Loop zu setzen und zu sehen, wie er sich verhält.

Siehe auch die Dokumentation hier: http://slick.ninjacave.com/javadoc/org/newdawn/slick/Sound.html

public Sound(java.lang.String ref) throws SlickException 

Parameters:ref - The location of the OGG or MOD/XM to load 

Anscheinend ist der Konstruktor der Sound-Klasse will den Pfad zu einer OGG, MOD/XM-Datei. Sie sollten eines dieser Formate verwenden, um sicherzustellen, dass alles wie erwartet funktioniert.

+0

"org.lwjgl.LWJGLException: Die OpenAL-Bibliothek konnte nicht gefunden werden." Ich fand dies aus Netbeans-Ausgabe. Was ist die Bedeutung davon? was soll ich machen? – thathsara

+0

Haben Sie die OpenAL-Eingeborenen auf dem Bibliothekspfad? –

+0

ja. Sie befinden sich im Bibliothekspfad. – thathsara

Verwandte Themen