Я использую Libgdx для кодирования игры, и он использует такие методы, как Gdx.files.internal("file") для загрузки файлов, это должно работать при экспорте приложения, так как это то, что он должен делать
Некоторые файлы копируются в каталог USER и загружаются оттуда (аудио), это то, что вызывает сбой приложения? Как упоминалось здесь: Java-приложение работает правильно в Eclipse, но не как .jar
Если бы кто-нибудь мог дать мне представление о том, что происходит, это было бы здорово, он также не запускает консоль Java для меня, поэтому я понятия не имею
Скомпилированный файл .jar находится здесь: https://www.dropbox.com/s/rz9v7lkdsj78z20/RUSHmup.jar (также с библиотеками внутри)
Вот код загрузки звука, который, как я ДУМАЮ, вызывает проблему (но все, что я вижу, это то, что должно работать нормально и ДЕЛАЕТ в Eclipse)
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();
}
java -jar yourjarname.jar
- person DHall   schedule 05.12.2012external = external.replace('\\', '/');
- person gbtimmon   schedule 05.12.2012