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

No hay comentarios:

Publicar un comentario