Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1
Una de las características que han hecho muy exitoso al sistema operativo Android es la posibilidad de agregar el manejo multimedia de una manera muy simple. Tanto el manejo de Audio, Video y el manejo de la Cámara, hacen que Android sea una plataforma muy poderosa y de interés para el usuario final. Los dispositivos móviles se han convertido en los reproductores de música portátil por defecto, así mismo, con las nuevas pantallas y cámaras digitales integradas a los dispositivos móviles, es el único dispositivo que necesitamos para cubrir la mayoría de nuestras necesidades multimedia. En este capítulo estudiaremos la forma en que podemos manejar cada uno de estos elementos, con ejemplos prácticos que nos permitirán conocer el API básica necesaria a cada opción multimedia. Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
Android en su última versión soporta varios tipos multimedia de audio para ser reproducidos, tales como: AAC LC/LTP, HE-AACv1 (AAC+), HE-AACv2 (Enhanced AAC+), AMR-NB, AMR-WB, MP3, MIDI, Ogg Vorbis, PCM/WAVE y FLAC. Para el manejo de audio en Android, lo primero que debemos hacer es ubicar el archivo de sonido que deseamos reproducir. Podemos utilizar la carpeta de raw dentro de resources para almacenar información multimedia, incluyendo archivos de sonido. De esta manera, a través de la clase R podremos ubicar el archivo desde el código Java. Para iniciar con el manejo del archivo de sonido, basta instanciar el objeto MediaPlayer, utilizando el método create y proporcionando el contexto y archivo de audio que deseamos utilizar. Una vez que ya tenemos una referencia al objeto MediaPlayer lo único que debemos hacer es llamar el método start(), y con ello comenzará la reproducción de nuestro archivo de audio. Existen más métodos para el manejo de audio en Android. Para más información pueden consultar el siguiente link: http://developer.android.com/reference/android/media/mediaplayer.html Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
Android soporta múltiples formatos de video, tales como: H.263, H.264 AVC, MPEG-4 SP y VP8. Para un mayor detalle en la configuración de estos archivos pueden consultar el link: http://developer.android.com/guide/appendix/media-formats.html Para el manejo de reproducción multimedia, Android proporciona la clase MediaPlayer, los pasos básicos para utilizar esta clase son: 1) Inicializar el objeto MediaPlayer. 2) Preparar el objeto MediaPlayer. 3) Iniciar (start) la reproducción. 4) Pausar o detener la reproducción antes de que sea completada. 5) Finalizar la reproducción. Para más información de los estados del objeto Media Player pueden consultar: http://developer.android.com/reference/android/media/mediaplayer.html#statediagram Para poder mostrar video en Android, podemos apoyarnos del componente visual VideoView. Una vez que tenemos este objeto podemos establecer la ruta del video por medio del método setvideopath(). Una vez establecida la ruta del video, podemos ejecutarlo por medio del método start(). Para reproducir video es necesario tener un dispositivo real o un emulador con la última versión de Android, sin embargo esto último podría no funcionar, por lo que les recomendamos probar en un dispositivo real de Android para este tipo de aplicaciones. Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
Si recordamos de lecciones anteriores, hemos comentado el manejo de Intents para apoyarnos de aplicaciones ya creadas por otros y así no tener que desarrollar nuestras propias aplicaciones para realizar ciertas tareas. Este caso aplica perfectamente al manejo de la cámara en los dispositivos Android. Por medio de intents podemos solicitar que cualquier aplicación que puede procesar la captura de imágenes nos permita realizar la toma de la foto respectiva y recibirla de regreso en nuestra aplicación. Los pasos necesarios para poder capturar una imagen son los siguientes: 1) Iniciar un Intent que solicita el uso de la cámara e iniciar el intent esperando un resultado: Intent intent = new Intent (android.provider.mediastore.action_image_capture); startactivityforresult(intent, 0); 2) Sobreescribir el método onactivityresult para procesar la imagen de respuesta. 3) Recuperar la imagen capturada y utilizarla: Bitmap bitmap = (Bitmap) data.getextras().get("data"); imagen.setimagebitmap(bitmap); Por último, cabe mencionar que para ejecutar la funcionalidad de la cámara es necesario utilizar un dispositivo móvil real o un emulador Android con la última versión. Sin embargo podría no funcionar en emuladores, por lo que se recomienda probar en dispositivos. Para conocer más Intents que nos pueden servir para el procesamiento de elementos multimedia son: http://developer.android.com/reference/android/provider/mediastore.html Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 6
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados. Además agregamos nuevos cursos para que continúes con tu preparación como consultor Java de manera profesional. A continuación te presentamos nuestro listado de cursos en constante crecimiento: Fundamentos de Java Programación con Java Java con JDBC HTML, CSS y JavaScript Servlets y JSP s Struts Framework Hibernate Framework Spring Framework JavaServer Faces Java EE (EJB, JPA y Web Services) JBoss Administration Android con Java Datos de Contacto: Sitio Web: www.globalmentoring.com.mx Email: informes@globalmentoring.com.mx Ayuda en Vivo: www.globalmentoring.com.mx/chat.html Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 7