PDA

Ver la Versión Completa : [ CONSULTA ] Reproducir un gif y silencio en sonido.


Quinta
28/01/12, 00:12:14
Buenas gente!!

Soy nuevo en el foro. La verdad que llevo poco tiempo en esto de la programación en Android y me gustaría aprender. Bueno, mi consulta es la siguiente. Estoy desarrollando una aplicación para android y necesito poner un gif pero no se como hacerlo. Necesito que el gif este en loop. He estado mirando para hacerlo con un ImageView pero se me resiste. ¿Alguien sabe hacerlo de una manera eficiente? Y otra consulta más, con ese gif va un loop de audio detrás pero justo cuando acaba, entre loop y loop se produce un silencio que hace perder el "feeling" del loop. ¿Alguien sabría decirme tambien como hacer para evitar ese silencio entre loop y loop?

Muchas gracias a todos!!!

Un saludo!!

kriogeN
28/01/12, 01:13:55
Android no soporta gifs animados, al menos no de forma directa cargando el fichero y metiendoselo a un ImageView.

Existen varios mecanismos, como por ejemplo decodificar el gif en tiempo real y mostrarlo frame a frame cambiando el frame a mostrar con un temporizador, por supuesto en un Handler para que se ejecute en un hilo propio y además pueda actualizar Views que están en el hilo principal. Un poco engorroso, la verdad.

El método más limpio es que extraigas todos los frames del Gif y crees un AnimationDrawable, de este modo será el sistema el que se encargará de la gestión de la animación.

Con ninguno de esos 2 métodos tendrías sonido, aunque podrías tenerlo como un fichero de audio independiente, aunque supongo que la sincronización puede ser un poco tediosa.

Quinta
28/01/12, 01:47:46
Lo que me temía. Ya he estado leyendo por internet... que fallo que no den soporte a gif's. La verdad que veo mas fácil pasar el gif a formato de vídeo y reproducirlo con un VideoView. Muchas gracias por la ayuda!!! :) La sincronización entre el gif y el audio no es necesaria, digamos que son independientes el uno del otro. Lo que me preocupa es conseguir que en el loop de audio no haya ese silencio al final entre que acaba el audio y se vuelve a reproducir.

Muchas gracias de nuevo.
Un saludo!!