fixed bug with files which contains no audio/video data

This commit is contained in:
Raybz@Raybz 2013-07-05 09:18:03 +02:00
parent b420d72d72
commit d0540a3192

View File

@ -43,6 +43,7 @@ public class LoadingState extends AbstractAppState {
private LoadingProgress currentProgress;
private GameSettings settings;
private BackgroundMusic music;
private boolean hasTriedConverting;
public LoadingState(Screen screen, StateManager stateManager,
AudioDataManager audioDataManager, GameSettings settings,
@ -71,6 +72,7 @@ public class LoadingState extends AbstractAppState {
try {
switch (currentProgress) {
case START:
hasTriedConverting = false;
currentProgress = LoadingProgress.LOADING_CINEMA;
break;
case LOADING_CINEMA:
@ -85,11 +87,16 @@ public class LoadingState extends AbstractAppState {
if (initAudioAnalysis()) {
currentProgress = LoadingProgress.ANALYSE_LOW_BAND;
} else {
currentProgress = LoadingProgress.CONVERT_AUDIO;
if (hasTriedConverting) {
backToMenu();
} else {
currentProgress = LoadingProgress.CONVERT_AUDIO;
}
}
break;
case CONVERT_AUDIO:
convertAudio();
hasTriedConverting = true;
currentProgress = LoadingProgress.INIT_AUDIO_ANALYSIS;
break;
case ANALYSE_LOW_BAND:
@ -118,11 +125,15 @@ public class LoadingState extends AbstractAppState {
}
} catch (Exception ex) {
ex.printStackTrace();
stateManager.setState(State.MENU);
backToMenu();
}
gui.updateProgress(currentProgress);
}
private void backToMenu() {
stateManager.setState(State.MENU);
}
private boolean initAudioAnalysis() {
GameState gs = stateManager.getState(State.GAME);
return audioDataManager.initialize(settings, gs.getMediaPlayer());