fixed bug with files which contains no audio/video data
This commit is contained in:
parent
b420d72d72
commit
d0540a3192
@ -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());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user