Aprende Android: crea tu reproductor multimedia con VideoView

Aprende Android: crea tu reproductor multimedia con VideoView

Android Cine¿Estás aprendiendo Android y quieres incluir en tu aplicación un toque multimedia? ¿Quieres tu propio reproductor tanto de vídeos en streaming como de los vídeos almacenados en tu móvil? Android te lo pone fácil una vez más, gracias a la clase VideoView.

Vamos a explicar cómo utilizarla con un ejemplo muy sencillo que puedes incluir en tu aplicación.

Lo primero es diseñar el layout en el que reproducir el vídeo. Para ello, crea un nuevo archivo xml llamado reproductor_layout en la siguiente ruta: ref/layout/reproductor_layout.xml.

El archivo deberá contener a la vista VideoView:

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <VideoView
 android:id="@+id/video"
 android:layout_width="340px"
 android:layout_height="260px"/> 
</LinearLayout>

Una vez definida la apariencia que tendrá nuestra aplicación, el siguiente paso es implementar la clase reproductor:

public class reproductor extends Activity {
 private VideoView reproductor;

@Override public void onCreate(Bundle savedInstanceState){
   super.onCreate(savedInstanceState);
   setContentView(R.layout.reproductor_layout);
   reproductor =(VideoView)findViewById(R.id.video);
   //Para reproducir archivos en streaming, como vídeos de Youtube:
   //reproductor.setVideoURI(Uri.parse("http://m.youtube.com/add_favorite?v=wIn-wIgWPXM"));
   //Para reproducir archivos almacenados en la memoria SDCard:
   reproductor.setVideoPath("/mnt/sdcard/videoEjemplo.mp4");
   reproductor.setMediaController(new MediaController(this));
   reproductor.start();
   reproductor.requestFocus();
   }
 }

Una breve explicación del código utilizado:

Lo primero es definir en setContentView la vista que queremos utilizar en nuestra Activity, en este caso reproductor_layout.

A continuación creamos el objeto reproductor, que usará la vista VideoView cuyo id es video. Luego usaremos varios métodos para su configuración.

Podemos elegir si reproducir un archivo en streaming, como por ejemplo un vídeo de Youtube, con el método setVideoURI() o reproducir un archivo de vídeo almacenado en nuestra memoria SDCard con el método setVideoPath().

Con el método setMediaController() añadimos a nuestro reproductor el objeto MediaController, que nos permite el control de la reproducción del vídeo añadiendo los botones de pausa, stop, play, etc.

Finalmente, para iniciar la reproducción del vídeo utilizamos start().

Algunas anotaciones:

Para almacenar un fichero de prueba en el simulador, utilizamos el File Explorer (Que se encuentra en Window >Show View >Others>Android>File Explorer). Nos vamos a la carpeta mnt/sdcard y pulsando sobre el botón en el que aparece un teléfono con una flecha, elegimos el fichero de vídeo cuyo nombre es videoEjemplo.mp4.

Si quieres reproducir un vídeo de Youtube, deberás de utilizar la URI que utiliza RTSP/3GP, es decir, de la forma:

http://m.youtube.com/add_favorite?v=XXXXXX

Siendo XXXX el identificador del vídeo que aparece cuando reproducimos un vídeo en nuestro navegador: http://www.youtube.com/watch?v=XXXXXX

Ya puedes crear tu propio reproductor multimedia para Android de una forma sencilla. Cualquier mejora que quieras sugerir o comentario, ¡siempre será bienvenido!

Previous Google mejora en la distribución del Nexus 5 pero repite errores del pasado
Next Framework: ¿Por qué es mejor usarlos?

About author

Rafa M.
Rafa M. 51 posts

Ingeniero de Telecomunicación, apasionado de la Seguridad Informática. Le gusta estar al día en todo lo relacionado con Internet y las nuevas tecnologías.

You might also like

Android 4 Comments

¿Cómo rootear el Nexus 5 en cinco pasos?

¿Tienes un Nexus 5 y te gustaría tenerlo rooteado? Si no sabes muy bien las ventajas y los inconvenientes de routear tu terminal, te aconsejo que leas esto. Google nos

Tecnologia & Ciencia 1Comments

[Evento] Introducción a Appcelerator Titanium y conexión con un backend en PHP

El día 5 de setiembre de 2014 tendré la oportunidad de hablar en el grupo de PHP Valencia acerca de como  crear una app móvil con el entorno de desarrollo

Tutorial 1Comments

Samsung Galaxy S III: ¡Rootealo y libéralo tú mismo!

Puede que ya llevéis un tiempo con vuestro Samsung Galaxy S III y se os haya cumplido el período de garantía y por tanto os veáis con las ganas y

Google 1Comments

Android Device Manager: la aplicación antirrobo integrada en Android

¡Aleluya! ¡Nuestras plegarias han sido escuchadas! No exagero, una plataforma como Android no se podía permitir una carencia de este tipo durante tanto tiempo. Como usuario de Android, veía con

Desarrollo 1Comments

Inteligencia Artificial en Videojuegos móviles

Para garantizar el éxito comercial de los videojuegos para móviles es necesario asegurar un algoritmo de Inteligencia Artificial que suponga al jugador un desafío ni demasiado elevado ni demasiado bajo. Pese

Tecnologia & Ciencia 3 Comments

¿Qué hacer si me han robado el móvil?

Echas mano al bolsillo en busca de tu smartphone para ver si tienes algún mensaje nuevo y te das cuenta de que no lo llevas encima. Un sentimiento de angustia

Apple 1Comments

Aplicaciones Antirrobo para Móviles

En artículos anteriores propusimos el “protocolo de emergencia” a seguir cuando uno tiene la mala fortuna de ser víctima de un robo o hurto de su terminal. Una de las

Android 0 Comments

El nuevo Android 4.4 KitKat ya está entre nosotros

Ya está aquí la esperada nueva versión de Android 4.4, con un nombre más que comercial: KitKat y también goloso, porque con las novedades que nos aporta nos endulzará nuestra

Desarrollo 2 Comments

LEAP: Agentes Inteligentes en dispositivos móviles

En el último artículo hablábamos sobre la problemática de introducir Inteligencia Artificial en dispositivos móviles. Esencialmente se puede utilizar cualquier aproximación válida para sistemas tradicionales, pero teniendo en cuenta la

5 Comments

  1. Heckyel
    agosto 23, 06:26 Reply

    Hola que tal, y para hacer que la aplicación con un menú actualizable para visualizar vídeos desde un servidor de alojamiento (server).

    • sebastian
      marzo 22, 19:36 Reply

      soy nuevo en esto de la programación en android, seguí los pasos que pusiste anteriormente pero no puedo reproducir video, solo se me queda la ventana de “hello word” y nada mas ni siquiera me reconoce la otra venta de reproducción.
      me podrías orientar
      gracias

  2. david
    abril 17, 21:28 Reply

    mi pregunta es que si el video esta en una base de datos
    ya lo puedo hacer pero para imagenes con

    public static void setImageViewWithByteArray(ImageView view, byte[] data) {
    Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
    view.setImageBitmap(bitmap);
    }

    data es la imagen que viene desde SQL server

    pero no se si se puede hacer también con VideoView

    el video en SQL server se guarda de la misma manera que la imagen y son tipos iguales varbinary(max)

  3. Ivan
    febrero 10, 16:10 Reply

    hola, muy buen post, tengo un duda, como hago para guardar el buffer de un videostream cuando la pantalla cambia de orietacion

  4. Bitacoras.com
    noviembre 08, 17:20 Reply

    Información Bitacoras.com

    Valora en Bitacoras.com: ¿Estás aprendiendo Android y quieres incluir en tu aplicación un toque multimedia? ¿Quieres tu propio reproductor tanto de vídeos en streaming como de los vídeos almacenados en tu móvil? Android te lo pone fácil una v…

Leave a Reply