게임을 코딩하는 데 Libgdx를 사용하고 있습니다. Gdx.files.internal ("file")과 같은 메서드를 사용하여 파일을로드합니다. 응용 프로그램을 내 보내면 해당 파일이로드됩니다.컴파일 .Jar 충돌 (Java 콘솔 없음), Eclipse에서 컴파일 및 실행됩니까?
일부 파일은 USER 디렉토리에 복사되고 거기에서도로드됩니다 (오디오). 이것이 앱을 충돌시키는 이유입니까? 여기에 언급 한 바와 같이 : 누군가가 나에게 그가는 것이 좋을 것 뭐죠에 관한 아이디어를 줄 수 있다면 Java application runs properly in Eclipse, but not as .jar
, 그 중 하나 내가 아무 생각
컴파일이없는 나를 위해 자바 콘솔을 시작하지 않습니다. 항아리는 여기에 있습니다 :
을 Heres (이클립스하지만 난 볼 수있는 모든 물건 이잖아 확인 작업을 의미하며 않음) 내가 문제를 일으키는 생각하는 오디오 코드를로드
if(!Gdx.files.external("test.wav").exists()){
String f = copySong(FILE);
}
if(Gdx.files.external("test.wav").exists()) {
// String ss = copySong(FILE);
String songPath = Gdx.files.getExternalStoragePath() + Gdx.files.external("test.wav").path();
//System.out.println("B4: " + songPath);
songPath.replace('\\', '/');
//System.out.println("AF: " + songPath);
song = minim.loadFile(songPath,2048);//"C:/users/seantest/test.wav", 2048);
}
String external = Gdx.files.getExternalStoragePath();
external.replace('\\', '/');
Gdx.files.internal("data/audio/1.wav").copyTo(Gdx.files.external("1.wav"));
Gdx.files.internal("data/audio/2.wav").copyTo(Gdx.files.external("2.wav"));
Gdx.files.internal("data/audio/3.wav").copyTo(Gdx.files.external("3.wav"));
Gdx.files.internal("data/audio/go.wav").copyTo(Gdx.files.external("go.wav"));
count3 = minim.loadSample(external + "3.wav");
count2 = minim.loadSample(external + "2.wav");
count1 = minim.loadSample(external + "1.wav");
countGo = minim.loadSample(external + "go.wav");
audioData = new RSAudioData(this);
if(song!=null){
System.out.println("Song Info: ");
System.out.println(song.length() + " " + song.sampleRate() + " " + song.bufferSize());
beat = new BeatDetect(song.bufferSize(), song.sampleRate());
beat.setSensitivity(300);
bl = new RSMBeatListener(beat, song);
fftLog = new FFT(song.bufferSize(), song.sampleRate());
fftLog.logAverages(22, 3);
max = new float[fftLog.avgSize()];
for(int i = 0; i < max.length-1; i++)
max[i] = 0;
}
}
public String copySong(String file) {
externalFile = Gdx.files.external("test.wav");
Gdx.files.internal(file).copyTo(externalFile);
exFile = Gdx.files.getExternalStoragePath() + "test.wav";
System.out.println(exFile);
return exFile;
}
public String sketchPath() {
return Gdx.files.getExternalStoragePath();
}
(너무 내 라이브러리로)
https://www.dropbox.com/s/rz9v7lkdsj78z20/RUSHmup.jar
명령 프롬프트/터미널에서 실행하여 예외가 있는지 확인할 수 있습니다. 'java -jar yourjarname.jar' – DHall
가장 먼저 지적해야 할 점은 string.replace 함수 호출은 반환 된 문자열이 무시되기 때문에 아무것도하지 않는다는 것입니다. 내 생각에 당신은'external = external.replace ('\\', '/'); ' – gbtimmon
@DHall 첫 번째로, 당신은 전설 감사합니다! 이상적입니다. 적어도 숫자는 볼 수 있습니다. @ gbtimmon 그 점을 지적 해 주셔서 감사합니다! 나는 그 변화를 만들었습니다 오류는 겉으로는 오디오 샘플을 찾는 것으로서, .wav를 찾을 수 없습니다. – user1877021