Quantcast
Channel: Android se detiene al pulsar varias veces un boton - Stack Overflow en español
Viewing all articles
Browse latest Browse all 2

Respuesta de Jorgesys en Android se detiene al pulsar varias veces un boton

$
0
0

En este caso el error es un IllegalStateException al tratar de usar el método .prepare() :

FATAL EXCEPTION: main Process: com.david.animefm2, PID: 20358 java.lang.IllegalStateException at android.media.MediaPlayer._prepare(Native Method) at android.media.MediaPlayer.prepare(MediaPlayer.java:1408) at com.david.animefm2.MainActivity$1.onClick(MainActivity.java:72)

En este caso, no debes usar prepare() y posteriormente start() o viceversa:

 mediaPlayer.prepare(); mediaPlayer.start();

Debes usar el listener OnPreparedListener() para determinar cuando el MediaPlayer esta listo para reproducción y de esta forma llamar el método start() para iniciar la reproducción:

mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {    @Override    public void onPrepared(MediaPlayer arg0) {        //Inicia reproducción.        mediaPlayer.start();    }});

En cuanto a lo que realizas:

si pulso 3 veces el botón, esta se detiene.

debes validar si el MediaPlayer esta reproduciendo si es así debes detener la reproducción, cargar el nuevo url y realizar el procedimiento anterior, preparar y reproducir:

 if(mediaPlayer!=null && mediaPlayer.isPlaying()){        mediaPlayer.stop();        mediaPlayer.reset();      }

Si necesitas implementar buffering revisa las opciones que sugiere @WebServeis:

MediaPlayer - ¿Necesito crear un buffer? ¿Cómo lo hago?


Viewing all articles
Browse latest Browse all 2

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>