Blog para desarrollo de aplicaciones en Android, aprende paso a paso como crear aplicaciones.

Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación para mostrarle publicidad personalizada y realizar análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. OK Más información | Y más

Como crear un VideoView en Android

Android Studio - VideoView

Hola amigos en este tutorial aprenderemos a utilizar el Container VideoView que sera muy útil para presentar vídeos en nuestra aplicación para tener un poco mas claro este concepto.

Muestra un archivo de vídeo. La clase VideoView puede cargar imágenes de varias fuentes (como recursos o proveedores de contenido), se ocupa de calcular su medición desde el vídeo para que pueda utilizarse en cualquier gestor de diseño y ofrece varias opciones de visualización, como escala y matización.

El VideoView proporciona varios métodos que se pueden utilizar. Desde visualizar un Video de forma local hasta verlo en linea con la URL.

VideoView es un control muy útil y les enseñare varios métodos que podrán implementar.

Métodos utilizados en el VideoView.
setVideoUri: este método se usa para establecer la ruta absoluta del archivo de vídeo que se va a reproducir. Este método toma un objeto Uri como argumento.
setMediaController: este método de VideoView se usa para configurar el controlador para los controles de reproducción de vídeo.
start():  este método de VideoView se usa para iniciar la reproducción del archivo de vídeo.
canPause(): su método dirá si VideoView puede detener el vídeo. Este método devuelve un valor booleano que significa verdadero o falso. Si un vídeo puede pausarse, devuelve verdadero; de lo contrario, devuelve falso.
canSeekForward(): Este método dirá si el vídeo puede buscar hacia adelante. Este método devuelve un valor booleano, es decir, verdadero o falso. Si un vídeo puede buscar hacia adelante, devuelve verdadero o de lo contrario devuelve falso.
canSeekBackward(): Este método dirá si el vídeo puede buscar hacia atrás. Este método devuelve un valor booleano, es decir, verdadero o falso. Si un vídeo puede buscar hacia atrás, entonces devuelve verdadero; de lo contrario, devuelve falso.
getDuration(): Este método se usa para obtener la duración total de VideoView. Este método devuelve un valor entero.
getCurrentPosition(): Este método se usa para obtener la posición actual de reproducción. Este método devuelve un valor entero.
isPlaying(): Este método indica si un vídeo se está reproduciendo actualmente o no. Este método devuelve un valor booleano. Devuelve verdadero si el vídeo se está reproduciendo o falso si no es así.
stopPlayback(): Este método de VideoView se usa para detener la reproducción de vídeo.
setOnPreparedListener(MediaPlayer.OnPreparedListener):  Este es un oyente que permite llamar a un método de devolución de llamada cuando el video está listo para jugar.
setOnErrorListener(MediaPlayer.OnErrorListener): Este oyente permite llamar a un método de devolución de llamada cuando ocurre un error durante la reproducción del vídeo.
setOnCompletionListener(MediaPlayer.OnCompletionListener): Este oyente permite llamar a un método de devolución de llamada cuando se llega al final del video.

MediaController en VideoView

MediaController es una clase que se utiliza para proporcionar los controles para la reproducción de vídeo. Si un vídeo simplemente se reproduce utilizando la clase VideoView, entonces el usuario no tendrá control sobre la reproducción del vídeo que se ejecutará hasta que se llegue al final del vídeo. Este problema puede solucionarse adjuntando una instancia de la clase MediaController a la instancia de VideoView. El controlador de medios proporcionará un conjunto de controles que permiten al usuario administrar la reproducción (como buscar hacia atrás / adelante y pausar en la línea de tiempo del vídeo).

setAnchorView(View view): SetAnchorView se utiliza para designar la vista a la que se va a anclar el controlador. Esto controla la ubicación de los controles en la pantalla.
show(): Este método se usa para mostrar el controlador en la pantalla.
show(int timeout): Este método se usa para configurar el tiempo para mostrar el controlador en la pantalla.
hide(): Este método se usa para ocultar los controles de la pantalla.
isShowing():Este método devuelve un valor booleano que indica si los controles están actualmente visibles para el usuario o no.

Crear Proyecto Android

Crearemos nuestra aplicación en Android para desarrollar nuestros ejemplos. (Aquí).
Android Studio - VideoView

Android VideoView Design

Ahora continuaremos con el diseño de nuestra aplicación. Para desarrollar este ejemplo debemos utilizar el VideoView que esta en la paleta de herramientas.
Android Studio - VideoView
el código del diseño es el siguiente para nuestro VideoView.


<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">


<VideoView
android:id="@+id/videoView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

Código MainActivity VideoView

Ahora vamos a hacer el código de nuestra aplicación en el MainActivity. pero antes de esto deberemos crear un directorio en res al cual llamaremos Raw que es el que se encargara de almacenar los vídeos de nuestra aplicación VideoView.
Android Studio - VideoView

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

public class MainActivity extends Activity {

VideoView univereVideo;
MediaController mediaControls;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Encuentra tu VideoView en tu diseño de video_main.xml
univereVideo = (VideoView) findViewById(R.id.videoView);

if (mediaControls == null) {
// Crear un objeto de clase de controlador de medios
mediaControls = new MediaController(MainActivity.this);
mediaControls.setAnchorView(univereVideo);
}
// Configurar el controlador de medios para ver video
univereVideo.setMediaController(mediaControls);
// Configurar el uri para la vista de video
univereVideo.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.createapp));
// Comenzar un video
univereVideo.start();

// Implementar en el oyente de finalización en la vista de video
univereVideo.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Toast.makeText(getApplicationContext(), "Gracias...!!!\n", Toast.LENGTH_LONG).show(); // Mostrar un brindis cuando se completa un video
}
});
univereVideo.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Toast.makeText(getApplicationContext(), "¡Ocurrió un error al reproducir video ...!", Toast.LENGTH_LONG).show(); // Mostrar un brindis cuando se produce un error mientras se reproduce un video
return false;
}
});
}

}

Crear Emulador AVD (Aquí)

Ahora lo que haremos sera crear nuestro emulador. Ejecutaremos nuestra aplicación para obtener el resultado de nuestro VideoView.
Android Studio - VideoView
Android Studio - VideoView

Gracias espero el contenido haya sido de tu agrado. Cualquier duda que tengas déjanos tu comentario.

Descargar:

Opción 1


Opción 2

No hay comentarios:

Publicar un comentario

x

Registrate!

Curso Android Español

Curso Kotlin Español

eBook Free Android Studio

Noticias y Eventos

¡Directamente a tu INBOX!

Le enviaremos nuestros recursos gratis. Para obtener nuestro contenido nuevo, únase a nuestra comunidad. No te molestaremos enviando información inútil. ¡No te pierdas ninguna actualización, mantente conectado! Recuerda verificar tu correo electronico.

Ingrese su dirección de correo electrónico:

Entregado por FeedBurner