EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
PF Preguntas - Foro

Cómo reproducir un vídeo, en un VideoView, de forma continuada o en bucle

Programación Xamarin Android  
 
Cómo reproducir un vídeo, en un VideoView, de forma continuada o en bucle

Una de las clases que nos ofrece el SDK de Android para reproducir vídeos en las apps que estemos desarrollando es la clase VideoView. Esta clase nos permite, de forma sencilla, la reproducción de un vídeo mediante la asignación de su ruta y la llamada al método de comienzo de reproducción. Es decir, con prácticamente cuatro líneas de código, podremos visualizar en dicho objeto el vídeo deseado.

Como ejemplo, supongamos que tenemos un objeto en nuestra interfaz de la clase VideoView, con nombre videoPlayerView, y en la parte interna tenemos el siguiente código:

Suponemos también que tenemos un vídeo en una subcarpeta de nombre ‘raw‘, en la carpeta de recursos ‘Resources‘.

Con esto, el video seleccionado se reproducirá en dicho objeto una única vez. Ahora bien, ¿y si quiero que dicho vídeo se reproduzca en bucle indefinidamente?

 

Cómo reproducir, en modo bucle, un vídeo en un VideoView en Xamarin Android

 

Al no disponer de ningún método implícito que fije la reproducción en modo bucle, tendremos que hacer uso del objeto MediaPlayer que esta vista lleva asociado. La clase VideoView es como una clase contenedora o wrapper de la clase MediaPlayer, la cual hace más fácil la implementación de vídeos en nuestra aplicación.

Por lo tanto, vamos a acceder a ella a través del evento OnPrepared que nos indica que el medio está listo para su reproducción y, para ello, lo haremos a través de un Listener, el cual asignaremos posteriormente a nuestra VideoView.

Para el Listener, crearemos una clase que implemente la interfaz IOnPreparedListener y escribiremos el método OnPrepared, tal como se ve en el siguiente código:

Con esto, asignamos el valor True al atributo Looping del objeto MediaPlayer asociado.

Una vez tenemos la clase lista, tan solo nos falta asignar un objeto de esta clase a nuestro objeto de la clase VideoView. Para ello, simplemente usamos el método SetOnPreparedListener de la misma, pasándole, como parámetro, un objeto de la nueva clase VideoLoop que hemos creado.

De esta forma, el código inicial quedaría de la siguiente forma:

Si procedemos a compilar y ejecutar nuestra aplicación, veremos como ahora el vídeo se reproduce de forma continuada a modo de bucle.

Déjanos un comentario o entra al  Foro
Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page

3 pensamientos sobre “Cómo reproducir un vídeo, en un VideoView, de forma continuada o en bucle

cyberlacs

Como fazer para que esta aplicação pegue todos os videos de uma pasta e reproduza todos ?

    Joshua

    Olá cyberlacs, tente usar a EventHandler videoplayer.Completion += (sender, e) => { }, interrompendo o vídeo e atribuindo-lhe uma nova rota e reiniciando o vídeo novamente.

      cyberlacs

      Meu amigo funcionou aqui muito obrigado mesmo só que usei assim:

      videoplayer.Completion += (sender, e) => { … } e funcionou 🙂

      Estou desenvolvendo a aplicação em Xamarin Form

      Muito obrigado.

Comentarios cerrados.