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