2014-11-14 4 views
-1

Я играю музыку в игре Libgdx. Я хочу, чтобы слушатель, как это, играл музыку и выполнял определенный процесс после этого. Но программный контроль никогда не достигает части onCompletionListerner.Android-игра: OnCompletionListener для музыки в Libgdx

private void playMusic() { 
    gameMusic = Gdx.audio.newMusic(Gdx.files.internal("data/bgm.mp3")); 
    gameMusic.play(); 
    gameMusic.setOnCompletionListener(Music.OnCompletionListener(){ 
     @Override 
     public void onCompletion(Music aMusic){ 
      actionResolver.getLeaderboardGPGS(); 

     } 
    } 
    ); 
+0

hmmm просто подумайте, когда imComplete будет называться ?: 'while (true) {} imComplete();' ... это простая логика ... никогда – Selvin

ответ

2

Просто добавьте new перед Music.OnCompletionListener() и он должен работать.

gameMusic.setOnCompletionListener(new Music.OnCompletionListener() { 
    @Override 
    public void onCompletion(Music aMusic) { 
     actionResolver.getLeaderboardGPGS(); 

    } 
}); 

Поскольку вы передаете объект (который реализует OnCompletionListener), он должен быть создан с new как всегда.

+0

, пожалуйста, объясните, почему это сработало для вас, и почему dint это работает для человека, задающего вопрос – Vihar

Смежные вопросы