Ver esta página: "Reproductor de música con barra de progreso (Android SDK 1.0)"

567 views
Skip to first unread message

juande

unread,
Dec 8, 2008, 1:41:48 PM12/8/08
to desarrolladores-android
Se ha añadido un programa de ejemplo que reproduce un archivo mp3
embebido dentro de la aplicación y muestra una barra de progreso de su
reproducción.

Haz clic en http://groups.google.com/group/desarrolladores-android/web/reproductor-de-msica-con-barra-de-progreso-android-sdk-1-0.
Si haciendo clic no se activa, copia el enlace y pégalo en la barra de
direcciones de tu navegador.

igorg...@hotmail.com

unread,
Dec 14, 2008, 8:16:17 AM12/14/08
to desarrolladores-android
El tutorial esta perfecto, muchas gracias, me ha servido de mucha
ayuda, pero solo una pregunta. Si en vez de meter un archivo .mp3 en
la carpeta /res/raw meto un video tambien me lo tendria que
reproducir???
Esque he probado a meter todo tipo de archivos de musica
(.mpg, .wav, .flv) y no me reproduce ninguno. Sabes que tipo de
archivos de video reproduce???

Un saludo y gracias

Juan de Dios Maldonado Sánchez

unread,
Dec 14, 2008, 12:03:26 PM12/14/08
to desarrollad...@googlegroups.com
Hola

El tutorial esta perfecto, muchas gracias, me ha servido de mucha
ayuda, pero solo una pregunta. Si en vez de meter un archivo .mp3 en
la carpeta /res/raw meto un video tambien me lo tendria que
reproducir???

Supongo que como mínimo debería escucharse. (Ya que en ningún sitio se le ha dicho dónde tiene que mostrar la imagen del vídeo)

Esque he probado a meter todo tipo de archivos de musica
(.mpg, .wav, .flv) y no me reproduce ninguno. Sabes que tipo de
archivos de video reproduce???

De los enumerados, de música es sólo el .wav

De vídeo... prueba con un .mp4, a mí me funciona. Así como con cualquier .flv de youtube. Pero recuerda modificar el código para que funcione con vídeo.

Saludos!

igorg...@hotmail.com

unread,
Dec 15, 2008, 6:36:33 AM12/15/08
to desarrolladores-android
Pero que codigo hay que modificar??? no es el mismo codigo que para
reproducir un sonido???

Juan de Dios Maldonado Sánchez

unread,
Dec 15, 2008, 4:45:05 PM12/15/08
to desarrollad...@googlegroups.com
Hola,

para indicar donde quieres que se reproduzca el vídeo, tienes que llamar al método "setDisplay" del MediaPlayer indicándole dónde quieres que se reproduzca.

Si tal y como está la aplicación ahora, le pones un archivo de vídeo, según la documentación de Android, como mínimo, debería escucharse.

"... This call is optional. Not calling it when playing back a video will result in only the audio track being played. ..."

Si quieres, puedo hacer unos cambios al código para que reproduzca vídeo...

Saludos!


igorg...@hotmail.com

unread,
Dec 16, 2008, 11:49:42 AM12/16/08
to desarrolladores-android
Pues la verdad que me ayudarias bastante, xk intento meter el
sedDisplay(); pero no se que es lo que hago mal que no me va, asi que
me ayudarias bastante la verdad.

Tambien estoy intentando meter el boton de pausa y el estado de
pausado, estas dos cosas ya lo he conseguido y me lo hace
correctamente, lo que no se como hacer, es que una vez esta en estado
pausado imaginate en la mitad de la cancion, que si doy al play me
siga reproduciendo desde ese instante concreto y no me empiece a
reproducir desde el inicio.

Gracias de todas formas no se que haria sin vosotros,jejeje, ;-)

Juan de Dios Maldonado Sánchez

unread,
Dec 16, 2008, 3:11:36 PM12/16/08
to desarrollad...@googlegroups.com
Hola,

Pues la verdad que me ayudarias bastante, xk intento meter el
sedDisplay(); pero no se que es lo que hago mal que no me va, asi que
me ayudarias bastante la verdad.

Espero este fin de semana tener unos minutos disponibles para hacerte el ejemplo para reproducir vídeo.

Tambien estoy intentando meter el boton de pausa y el estado de
pausado, estas dos cosas ya lo he conseguido y me lo hace
correctamente, lo que no se como hacer, es que una vez esta en estado
pausado imaginate en la mitad de la cancion, que si doy al play me
siga reproduciendo desde ese instante concreto y no me empiece a
reproducir desde el inicio.

Para detener la reproducción, llama al método "pause()" del objeto MediaPlayer creado.
Para reanudarla, llama al método "start()" DEL MISMO OBJETO sin volver a crear uno nuevo.

P.D.
Cada vez que se ejecute esta línea:
mp = MediaPlayer.create(ReproductorMusica.this, R.raw.musica);
estás indicando que deseas iniciar un nuevo reproductor. Por consiguiente, si el anterior "mp" lo tenías pausado, este nuevo, no tendrá nada que ver y volverá a hacer sonar la música desde el principio.

Saludos!

igorg...@hotmail.com

unread,
Dec 22, 2008, 12:31:38 PM12/22/08
to desarrolladores-android
Siento ser pesado, pero sigo sin saber usar el setdisplay
(surfaceholder sh), nose bien como especificar bien el sh. Podrias
explicarme como haberlo, por que sigo sin poder reproducir video.

Y en cuanto al boton de pause, consigo que pare la cancion pero no
consigo que una vez doy al play k siga desde donde paro, como puedo
hacerlo???

Un saludo y gracias de nuevo

Juan de Dios Maldonado Sánchez

unread,
Dec 22, 2008, 4:26:07 PM12/22/08
to desarrollad...@googlegroups.com
Siento ser pesado, pero sigo sin saber usar el setdisplay
(surfaceholder sh), nose bien como especificar bien el sh. Podrias
explicarme como haberlo, por que sigo sin poder reproducir video.

Para el SurfaceHolder puedes poner un:

<SurfaceView android:id="@+id/visor"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

en el layout. Y después, dentro del código:

SurfaceView visor = (SurfaceView)findViewById(R.id.visor);

de esta forma, llamando a:

visor.getHolder()

tendrás tu SurfaceHolder para poder pasárselo al MediaPlayer.setDisplay.

NOTA: Si quieres un reproductor de vídeos "locales", utiliza VideoView. Lo defines en el XML y después, le añades lo que quieras reproducir y listo!. Aquí tienes más info:
http://code.google.com/intl/es-ES/android/reference/android/widget/VideoView.html


Y en cuanto al boton de pause, consigo que pare la cancion pero no
consigo que una vez doy al play k siga desde donde paro, como puedo
hacerlo???

Ya te lo dije en un mensaje anterior. En el código del botón Reproducir no deberá aparecer ningún "new MediaPlayer()" o "MediaPlayer.create(...)", mientras aparezcan ahí, estarás haciendo que siempre comience la reproducción desde el principio, ya que lo que haces es volver a cargar un reproductor distinto.

Mueve:

// Creamos el reproductor multimedia haciendo referencia al archivo que pusimos en res/raw       
mp = MediaPlayer.create(ReproductorMusica.this, R.raw.musica);

justo debajo de:

setContentView(R.layout.main);


prueba a dejar el código que procesa el clic sobre reproducir en el onClick(View v) tal que así:

    @Override
    public void onClick(View v) {

        // Si el usuario hace clic sobre el botón Reproducir...
        if(v.equals(reproducir)){

            // Iniciamos la reproducción
            mp.start();               

            // Establecemos el TextView a Reproduciendo
            estado.setText(R.string.reproduciendo);   
            

            // Hacemos visible la barra de progreso  
            progreso.setVisibility(ProgressBar.VISIBLE);

            // Establecemos su valor actual al principio
            progreso.setProgress(0);

            // Establecemos que el valor del final sea el total de milisegundos que dura la canción
            progreso.setMax(mp.getDuration());           

        }

...

Ahora sí haces un pause y vuelves a pulsar en reproducir, debería de continuar por donde estaba.

NOTA: Si te fijas, he eliminado el hilo que actualiza la barra de progreso para evitar problemas de los cuales no tengo mucho tiempo para resolver.




Saludos!

igorg...@hotmail.com

unread,
Dec 26, 2008, 10:47:44 AM12/26/08
to desarrolladores-android
Hola de nuevo, gracias por la ayuda, me ha servido de gran ayuda,
respecto al boton de pausa, pero encuanto a lo del video, sigo sin
poder reproducir video. He probado mil cosas, pero nada.
Esque hay una cosa k no entiendo, por ejemplo, como puede ser que con
el ejemplo que tu pusiste de reproducir un archivo de sonido, pongo
distintos archivos de video, y ni si kieres me los deja escuchar,
ponga el video k ponga me reproduce el archivo de sonido que tenia
metido en un principio. Nose si me explicado correctamente, tu me
dijiste que en el ejemplo de reproducir un archivo con la barra de
progreso si metia cualkier tipo de video por lo menos me los tenia k
dejar escuchar, pero eske no me deja escucharlos, si no que encima me
reproduce la primera cancion que tenia metida en un inicio en ese
proyecto.

Como puedo reproducir video???

Para el SurfaceHolder puedes poner un:

<SurfaceView android:id="@+id/visor"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>


en el layout. Y después, dentro del código:


SurfaceView visor = (SurfaceView)findViewById(R.id.visor);


de esta forma, llamando a:


visor.getHolder()

sigo esos pasos, pero luego k tengo k hacer igual k reproducir un
sonido????Es decir tengo k llamar a setdisplay???y dentro meter
visor.getholder??o tengo k llamar a MediaPlayer create y dentro meter
donde guardo el video al igual k reproducir un sonido??? me puedes
ayudar????

Muchas gracias

Antonio Villalobos

unread,
Mar 8, 2011, 8:12:52 PM3/8/11
to desarrolladores-android
Buenas!
Estoy desarrollando una aplicación que incluye un reproductor de
música.
Me ha molado mucho lo de la barra de estado y tal.
He seguido paso a paso lo que comentas, pero me da un fallo en esta
línea:
new Thread(this).start();

El error concretamente es en el "this", que me da la ayuda eclipse y
me pide removerlo, cuando lo hago, desaparece el error.

¿Alguna idea?
Unicamente me aparece la barra en gris, pero no se ve como avanza ni
nada.
Necesito algo de ayuda puesto que el trabajo he de entregarlo en 24
horas.

Gracias!

Daniel Martín Jiménez

unread,
Mar 9, 2011, 6:28:08 AM3/9/11
to desarrollad...@googlegroups.com, Antonio Villalobos
Puede ser que la clase donde tienes esta linea no implementes correctamente de la clase requerida. 

Creo que lo que te falta es 
implements Runnable 
Salu2


--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.




--
----------------------------------------------------------------------------------------------------------
Me lo contaron y lo olvidé; lo vi y lo entendí; lo hice y lo aprendí.

DiCouk

unread,
Mar 9, 2011, 10:16:46 AM3/9/11
to desarrolladores-android
Una consulta quise bajar el archivo zip del proyecto pero me dice que
la pagina ya no existe... podrias colocarlo nuevamente?? este es el
link que aparece pero no funciona...
http://groups.google.com/group/desarrolladores-android/web/ReproductorMusica.zip

Salu2.

On 9 mar, 05:28, Daniel Martín Jiménez <dani.eln...@gmail.com> wrote:
> Puede ser que la clase donde tienes esta linea no implementes correctamente
> de la clase requerida.http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Thread.html
>
> <http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Thread.html>Creo
> que lo que te falta es
>
> implements Runnable
>
> Salu2
>
> El 9 de marzo de 2011 02:12, Antonio Villalobos
> <belialnightma...@gmail.com>escribió:

Juan de Dios Maldonado Sánchez

unread,
Mar 9, 2011, 10:34:14 AM3/9/11
to desarrollad...@googlegroups.com
Todas las páginas y archivos han sido borrados. Lo siento.

2011/3/9 DiCouk <cco...@gmail.com>

Mauricio Moncada

unread,
Jun 21, 2014, 5:27:31 PM6/21/14
to desarrollad...@googlegroups.com
amigo, no se si me puedes ayduar, tengo que rear una app en android mediante eclipse (adt), que me permita reproducir una cancion, pero que en cierto segundo de la cancion esta se detenga y se levante un layout realizando una pregunta relacionada con la cancion la cancion, si la respuesta es correcta, la cancion continuara, de lo contrario, la cancion se reiniciara.

logro reproducir el audio, pero no puedo obtener la posicion en milisegundos de la cancion, agradeceria si me puedes ayudar, me gustaria agregarle barra de progreso, pero no puedo abrir rl link que dejaste.

espero que sea acogido este mensaje y me puedas ayudar. de ante mano muchas gracias y disculpa las molestias. 
Reply all
Reply to author
Forward
0 new messages