PDA

Ver la Versión Completa : Reproducir canciones.


daniel_gs
03/09/13, 21:35:32
Buenas a todos:

Estoy intentando reproducir canciones una aplicación y me gustaría saber de que forma puedo manejar la reproducción con una seekbar o algo parecido, osea, necesitaría saber por que minuto se está reproduciendo y de que forma puedo seleccionar el segundo que quiero, es decir como rebobinar al segundo que el usuario quiera.

Lo estoy haciendo con el paquete MediaPlayer, pero no veo ninguna opción para hacer lo que digo, ¿No se hace con este paquete? o en caso contrario ¿Que métodos harían lo que quiero?

Muchas gracias a todos.

Zaitung
08/09/13, 13:57:12
Para que la seekbar vaya "moviendose" a medida que la canción avanza necesitaras algo asi:


public void add() {
SeekBar.setProgress(mp.getCurrentPosition());
Runnable r1=new Runnable() {
@Override
public void run() {
add();
}
};
h1.postDelayed(r1, 1000); //Cada cuanto se refresca la seekbar
}

a esa función la llamaremos una vez que le demos al play:


public void play(View view){
Uri datos = Uri.parse("cancion_que_quieras_reproducir");
MediaPlayer mp = MediaPlayer.create(this, datos);
mp.start();
add();


Para que al tocar en un punto de la seekbar la canción avance a ese punto, pondremos un listener:


SeekBar.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
mp.seekTo(SeekBar.getProgress());
return false;
}
});


Importante es que la seekbar tenga la misma longitud que la duracion de la canción por eso, una vez que hayas "preparado" la canción, le damos ese tamaño:

SeekBar.setMax(mp.getDuration());

Espero que te ayude