(+34) 673 566 782 - (+34) 960 653 052 formacion@imaginagroup.com

Reproducción de vídeo desde RAW en Android

Android
Principiante
20 minutos

En el siguiente tutorial reproduciremos un vídeo almacenado en nuestra aplicación. Es el código que utilizamos en Imagina Group y Mono Agency nada más iniciar el juego Hungry Monster by Belros.

Es muy común visualizar un vídeo corto con la marca o nombre de la empresa al encender nuestras aplicaciones.

Para comenzar crearemos un nuevo proyecto llamado ReproducirVideo, en el que crearemos una actividad llamada MainActivity.java con un layout activity_main.xml.

Una vez creado veremos en el Package Explorer el nuevo proyecto con la siguiente estructura.

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.

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


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFFFFFF" >

<VideoView android:id="@+id/videoView_video" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentTop="true" android:layout_centerInParent="true" />

</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


package com.example.reproducirvideo;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.VideoView;

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

VideoView videoView = (VideoView) findViewById(R.id.videoView_video);

Uri path = Uri.parse("android.resource://com.example.reproducirvideo/"
+ R.raw.intromono);

videoView.setVideoURI(path);
videoView.start();
}
}

Al ejecutar el proyecto veremos el vídeo introducción de Mono Agency.

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


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.reproducirvideo" android:versionCode="1" android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
<activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>

</manifest>

El resultado lo vemos a continuació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.


package com.example.reproducirvideo;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

VideoView videoView = (VideoView) findViewById(R.id.videoView_video);

Uri path = Uri.parse("android.resource://com.example.reproducirvideo/"
+ R.raw.intromono);

//AMPLIACIÓN
MediaController mc = new MediaController(this);
videoView.setMediaController(mc);

videoView.setVideoURI(path);
videoView.start();
}
}

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.

En Imagina Formación te ofrecemos formación en estas nuevas tecnologías. Si quieres estar a la última en cualquiera de las diferentes plataformas, y a fin de cuentas, tu objetivo es aprender no dudes en solicitar información sin compromiso. Contamos con las herramientas y los medios necesarios para impartir cualquier tipo de formación. Te lo ponemos fácil. Formación online, presencial o de empresa, elige la modalidad que mejor se adapte a tus necesidades.

¿Sabes cómo puedes realizar una formación sin coste para tu empresa?

¿Buscas cursos bonificados? ¿Conoces qué es la Fundación Tripartita? Si eres trabajador tus cursos están subvencionados. Imagina Formación es una entidad organizadora de la Fundación Estatal de modo que puedes gestionar la formación bonificada de los cursos con nosotros. Nos encargamos de todos los trámites para conseguir la bonificación sin ningún coste adicional. Cumplimos con todos los requisitos para que nuestros cursos sean 100% bonificables.

Échale un vistazo a nuestro catálogo de Cursos Destacados y amplia tus conocimientos en las últimas tecnologías de referencia del sector. Si tienes cualquier duda… ¡Contacta con nosotros!

Uso de cookies: Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies