2012-03-13 2 views
1

대기열을 설정하고 트랙을 추가 한 다음 재생하는 setSound()라는 메서드가 있습니다. simpleInitGame() 메서드를 호출합니다. 그러나 소리 재생과 일식의 콘솔은 말한다 : 여기 사운드 파일 (.ogg)을 찾을 수 없습니다

Mar 13, 2012 10:15:55 PM com.jmex.audio.openal.OpenALSystem setupSourcePool 
INFO: max source channels: 32 
Mar 13, 2012 10:15:55 PM com.jme.util.resource.ResourceLocatorTool locateResource 
WARNING: Unable to locate: src/com/preston/sounds/background.ogg 
Mar 13, 2012 10:15:55 PM com.jmex.audio.openal.OpenALSystem createAudioTrack 
WARNING: Could not locate audio file: src/com/preston/sounds/background.ogg 

은 방법 :

protected void setSound() 
    { 
     audio = AudioSystem.getSystem(); 
     sound1 = audio.createAudioTrack("src/com/preston/sounds/background.ogg", false); 
     queue = AudioSystem.getSystem().getMusicQueue(); 
     queue.setCrossfadeinTime(0); 
     queue.setRepeatType(RepeatType.ONE); 
     queue.addTrack(sound1); 
queue.play(); 

    } 

내 텍스처 대신 제외하고 (같은 디렉토리에있는대로 디렉토리 생각하지 않습니다 preston/프레스톤/텍스처 소리).

+0

은 디렉토리/파일의 내용에 eclipse가 액세스 할 수 있도록 설정 한 디렉토리/파일에 대한 사용 권한입니까? – blueberryfields

+0

Eclipse가 내 셰이프 (예 : skybox)의 텍스처에 액세스 할 수 있다면 괜찮습니까? 그렇다면 오디오에 문제가 없다는 의미입니까? – Mike

답변

1

이것은 아마도 상대 경로에 문제가 있습니다. jMonkeyEngine의 ResourceLocatorTool의 기본 디렉토리가 프로젝트의 루트가 아닙니다. 절대 경로로 열어보고 작동하는지 확인하십시오.

또한 파일 위치가 현명한 선택이 아닙니다. src 폴더는 자원이 아닌 java 소스 파일을 대상으로합니다. 애셋/사운드에 넣어야합니다. jME best practices

+0

jME에 비추천 된 오디오 모듈을 사용하는 것 같습니다. http://jmonkeyengine.org/wiki/doku.php/jme3:advanced:audio_environment_presets를 사용하는 것이 좋습니다. –

1

대부분 "src /"접두어를 생략 할 수 있습니다. Eclipse 컴파일러는 모든 Java 파일을 클래스 파일로 컴파일하고 소스의 소스를 "bin /"으로 복사합니다. JME에서 ClassLoader.getResourceAsStream (...)을 사용하여 클래스 경로에서 에셋을로드한다고 생각합니다. 그러므로 "src /"를 제거하십시오.

관련 문제