2016-06-14 3 views
0

나는 java slick2D에서 2D 게임을 개발 중이다. 게임이 잘 작동하고 오류가 없습니다. 그러나 나는 소리와 음악을 재생하려고합니다. 어쨌든 나는 놀 수 없었다. 여기 내 코드가있다.slick2D 자바 게임 라이브러리에서 소리와 음악 재생

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

그리고 내가 사용하고 jogg-0.0.7.jar이 jorbis-0.0.17-1.jar, jorbis-0.0.15-1.jar. 어떤 오류도 없지만 연주하지 않는 소리입니다. 나에게 해결책을 주시겠습니까?

답변

0

이 상황에 대한 답변을 찾는 다른 사용자에게 게시하고 있습니다. windows에서 : 방금 프로젝트 외부의 라이브러리 위치가 변경되었습니다. 다음 프로젝트 속성에서 라이브러리 경로를 다시 설정 한 후 작동합니다.하지만 리눅스에서 아무것도하지 않고 잘 작동합니다. 모든 라이브러리를 올바르게 추가하고 오류가 발생하는 경우 라이브러리 위치를 프로젝트 외부로 변경하는 것이 좋습니다.

1

예외가 없으므로 프로젝트가 올바르게 설정되어있는 것으로 보입니다.

나는 사운드가 정말 플레이 여부를 확인하는 것이 좋습니다 :

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

을이 출력합니다 "작동하는"경우 .wav 파일이 손상 될 수 있습니다. 대신 .ogg 파일을 사용해 볼 수 있습니다. Furthemore Slick은 8/16bit 모노/스테레오 형식 만 지원한다고 생각합니다.

또 다른 시도는 코드를 업데이트 루프에 넣고 동작 방식을 확인하는 것입니다. 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 

분명히 사운드 클래스의 생성자는 OGG, MOD/XM 파일의 경로를 원하는 :

또한 여기에 설명서를 참조하십시오. 모든 형식이 예상대로 작동하는지 확인하려면 이러한 형식 중 하나를 사용해야합니다.

+0

"org.lwjgl.LWJGLException : OpenAL 라이브러리를 찾을 수 없습니다." 나는 netbeans 출력에서 ​​이것을 발견했다. 이것의 의미는 무엇입니까? 나는 어떻게해야합니까? – thathsara

+0

도서관 경로에 OpenAL 원주민이 있습니까? –

+0

예. 라이브러리 경로에 있습니다. – thathsara