Este documento describe cómo insertar un video en una aplicación Android usando VideoView. Primero se crea un nuevo proyecto y una carpeta raw para almacenar el video. Luego se agrega un VideoView al layout de la actividad principal y se reproduce el video al iniciar la actividad mediante VideoView.start(). Finalmente, se agregan controles de medios para permitir al usuario controlar la reproducción del video.
1. CETis 109
Alumna:
González Reyna Irene
Elizabeth
4 AM Aula: 27
Especialidad: Programación
Como insertar un video
Materia: Desarrolla
Aplicaciones Web
Facilitadora: Margarita Romero
Alvarado
2. CREACIÓN DE PROYECTO
Para comenzar crearemos un nuevo proyecto llamado ReproducirVideo, en
el que crearemos una actividad llamada MainActivity.java con un
layout activity_main.xml.
3. Una vez creado veremos en el Package Explorer el nuevo proyecto con la siguiente
estructura.
4. Como segundo paso debemos de crear una nueva carpeta
llamada raw/ dentro del directorio res/.
La carpeta raw la utilizaremos para almacenar recursos adicionales,
normalmente en formato distinto a XML, que no se incluyan en el
resto de carpetas de recursos.
Ahora nos descargaremos el vídeo de prueba (PSD) y lo
incluiremos en la carpeta recién creada.
Nota: Disponemos en la página oficial de Android Developers todos
los formatos que reproduce el sistema además de otras
recomendaciones. Los dispositivos actuales suelen incluir más
codecs que nos permiten reproducir multitud de formatos de vídeo.
IMPLEMENTACIÓN
En primer lugar crearemos un control VideoView que ocupe toda la
pantalla donde visualizaremos el vídeo de Mono Agency. Lo
definiremos en el layout de la Activity.
activity_main.xml
01 <?xml version="1.0" encoding="utf-8"?>
02 <RelativeLayout
5. xmlns:android="http://schemas.android.com/apk/res/android"
03 android:layout_width="match_parent"
04 android:layout_height="match_parent"
05 android:background="#FFFFFFFF" >
06
07 <VideoView
08 android:id="@+id/videoView_video"
09 android:layout_width="wrap_content"
10 android:layout_height="wrap_content"
11 android:layout_alignParentBottom="true"
12 android:layout_alignParentTop="true"
13 android:layout_centerInParent="true" />
14
15 </RelativeLayout>
Desde la Activity creamos un objeto VideoView y lo enlazamos con
el control del layout mediante la sentencia findViewById(). El
objeto Uri se lo pasamos a VideoView de forma que le indiquemos la
ruta del vídeo.
Por último iniciamos la reproducción mediante videoView.start(). De
ésta forma conseguimos que al iniciar la actividad el vídeo empiece
a reproducirse.
MainActivity.java
01 package com.example.reproducirvideo;
02
03 import android.app.Activity;
04 import android.net.Uri;
05 import android.os.Bundle;
06 import android.widget.VideoView;
07
6. 08 public class MainActivity extends Activity {
09
10 @Override
11 public void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13 setContentView(R.layout.activity_main);
14
15
VideoView videoView = (VideoView)
findViewById(R.id.videoView_video);
16
17
Uri path =
Uri.parse("android.resource://com.example.reproducirvideo/"
18 + R.raw.intromono);
19
20 videoView.setVideoURI(path);
21 videoView.start();
22 }
23 }
Al ejecutar el proyecto veremos el vídeo introducción de Mono
Agency.
7. Si nos fijamos podemos ver las barras de estado del dispositivo,
pero ésto no nos interesa. No queda elegante. Podemos ocultarlas
desde el código de la actividad o añadiendo unos atributos en el
AndroidManifest.xml.
Utilizaremos la segunda técnica. Le añadimos los
atributos screenOrientation y theme a cada una de las actividades
que deseemos ocultar las barras de estado.
AndroidManifest.xml
01 <?xml version="1.0" encoding="utf-8"?>
02
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
03 package="com.example.reproducirvideo"
04 android:versionCode="1"
9. AMPLIACIÓN
Si queremos aprovechar éste código para crear un reproductor.
Podemos añadir unos controles para el usuario. Android nos provee
de un sencillo control de los vídeos. Modificar el código
deMainActivity.java. Mediante la clase MediaControler añadimos
los nuevos controles.
01 package com.example.reproducirvideo;
02
03 import android.app.Activity;
04 import android.net.Uri;
05 import android.os.Bundle;
06 import android.widget.MediaController;
10. 07 import android.widget.VideoView;
08
09 public class MainActivity extends Activity {
10
11 @Override
12 public void onCreate(Bundle savedInstanceState) {
13 super.onCreate(savedInstanceState);
14 setContentView(R.layout.activity_main);
15
16
VideoView videoView = (VideoView)
findViewById(R.id.videoView_video);
17
18
Uri path =
Uri.parse("android.resource://com.example.reproducirvideo/"
19 + R.raw.intromono);
20
21 //AMPLIACIÓN
22 MediaController mc = new MediaController(this);
23 videoView.setMediaController(mc);
24
25 videoView.setVideoURI(path);
26 videoView.start();
27 }
28 }
Controlador del vídeo se nos mostrará durante unos segundos y se
ocultará de modo que si el usuario pulsa sobre el vídeo se le volverá
a mostrar