accidente botón de reproducción

Rklearner:

Soy nuevo en la codificación, estoy trabajando en un reproductor de música que tiene cuatro ImageViews para cuatro canciones diferentes y haciendo clic sobre ellos se reproduce la canción que ahora tengo un problema con el juego y el botón de pausa. aquí está el código:

 case R.id.btn_play:


            if (mediaPlayer.isPlaying()) {
                mediaPlayer.pause();
            } else {
                mediaPlayer.start();
            }


            break;

Ahora mi problema es el tiempo que musicplayer.creat es la acción este código funciona bien, pero si hago clic en el botón de reproducción antes de jugar una canción de la aplicación se bloquea. lo que sé sobre el botón Desactivar marca por setEnabled (falso). Pero yo quiero saber cómo cómo codificar el botón de reproducción para nada, mientras que el retorno de objetos reproductor de música no se crea.

ACTUALIZAR:

Aquí es otra parte del código:

        btn_play.setEnabled(false);
    btn_nxt.setEnabled(false);
    btn_pre.setEnabled(false);
}

@Override
public void onClick(View v) {

    switch (v.getId()) {

        case R.id.btn_nxt:
            try {
                mediaPlayer.stop();
                count++;
                mediaPlayer = MediaPlayer.create(this, musicList[count]);
                mediaPlayer.start();
            } catch (Exception e) {
                mediaPlayer.stop();
                count = 0;
                mediaPlayer = mediaPlayer.create(this, musicList[count]);
                mediaPlayer.start();
            }
            break;


        case R.id.btn_pre:
            try {
                mediaPlayer.stop();
                count--;
                mediaPlayer = MediaPlayer.create(this, musicList[count]);
                mediaPlayer.start();
            } catch (Exception e) {
                mediaPlayer.stop();
                count = 3;
                mediaPlayer = mediaPlayer.create(this, musicList[count]);
                mediaPlayer.start();
            }
            break;

        case R.id.button:
            btn_play.setEnabled(true);
            btn_nxt.setEnabled(true);
            btn_pre.setEnabled(true);
            mediaPlayer = MediaPlayer.create(this, musicList[0]);
            mediaPlayer.start();
            count = 0;

Como se puede ver, cuando no hay una actualización para jugar los accidentes botón de reproducción.

ACTUALIZAR:

Aquí está el error:

03-02 10:03:39.576 5146-5146/com.example.musicplayerworking E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.musicplayerworking, PID: 5146
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.media.MediaPlayer.isPlaying()' on a null object reference
    at com.example.musicplayerworking.MainActivity.onClick(MainActivity.java:71)
    at android.view.View.performClick(View.java:5210)
    at android.view.View$PerformClick.run(View.java:20976)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:6220)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Md Golam Rahman Tushar:

Sólo tiene que añadir una condición if para comprobar si el reproductor multimedia es nulo.

if(mediaPlayer == null) mediaplayer = MediaPlayer.create(this, musicList[count]);

if (mediaPlayer.isPlaying()) {
    mediaPlayer.pause();
} else {
    mediaPlayer.start();
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=283106&siteId=1
Recomendado
Clasificación