как перейти к следующему массиву, когда закончится воспроизведение звука? - PullRequest
1 голос
/ 10 июня 2019

я новичок здесь, вы можете мне помочь?Я хочу, чтобы после завершения звука в imageView отобразился следующий массив изображений

. Я пытался использовать этот код, но после завершения звука он выходит из приложения

    mediaPlayer = MediaPlayer.create(home.this, R.raw.decision);

    mediaPlayer.start();

mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            next();
        }
    });

}

myкод:

private int image [] = {R.drawable.definisiprisma1, R.drawable.definisiprisma2, R.drawable.definisiprisma3};
private int gambar = 0;
ImageView imageView;
MediaPlayer mediaPlayer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);

    mediaPlayer = MediaPlayer.create(home.this, R.raw.decision);

    mediaPlayer.start();

mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            next();
        }
    });

}

private void next() {
    gambar = gambar % image.length;
    gambar++;
    imageView.setImageResource(image[gambar]);
}

как перейти к следующему массиву после завершения воспроизведения звука?

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

Вы должны инициализировать imageView с помощью

imageView = findViewById(R.id....);

в onCreate() методе

0 голосов
/ 10 июня 2019

При создании вызова только первый раз, когда запускается экран, вы можете захотеть снова запустить звук.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...