Xamarin.Forms MediaElement Primer Vistazo
Una de las mejores funciones que serán lanzadas en la version de Xamarin.Forms 4.5 es el nuevo MediaElement sin duda, Había estado esperando por este control por mucho tiempo, vamos a analizar como funciona este control y como puedes comenzar a añadirlo en tus aplicaciones.
Cómo puedes ver este control esta como Preview por lo que algunas funciones no estan completamente funcionales y necesitan algunas mejores.
Ahora revisemos la API y la dividiremos en 3 partes, propiedades, methods y eventos.
- Aspect Aspect
Esta propiedad nos permite configurar el aspecto visual del video con alguno de los siguientes valores AspectFit(default), AspectFill or Fill, mismos que usamos en el control Image.
- bool AutoPlay
Esta propiedad nos permite configurar si nuestro reproductor iniciara automáticamente cuando la propiedad Source es asignada, por default la propiedad es asignada como "true".
- double BufferingProgress
Retorna el porcentaje de carga del video en curso.
- bool CanSeek
Retorna verdadero si el player contiene un recurso valido para reproducir en caso contrario retornara falso.
- MediaElementState CurrentState
Retorna el estado actual del reproductor, los valores posibles son los siguientes Closed, Opening, Buffering, Playing, Pause o Stopped.
- TimeSpan? Duration
Retorna la duracion del recurso actual en caso de no tener cargado algún recurso devolverá nulo.
- bool IsLooping
Obtiene o asigna si el reproductor reproducirá el video en bucle.
- bool KeepScreenOn
Obtiene o asigna si la pantalla permanecerá activa mientras el reproductor esta funcionando.
- bool ShowPlaybackControls
Obtiene o asigna si el reproductor mostrara los controles de reproducción, en caso de usar controles propios este valor necesitara ser asignado como falso.
- TimeSpan Position
Retorna la posición actual del reproductor.
- MediaSource Source
Obtiene o asigna el recurso actual, actualmente se soportan recursos locales y web.
- int VideoHeight
Retorna la altura del video en pixeles.
- int VideoWidth
Retorna el ancho del video en pixeles.
- double Volume
Obtiene o asigna el volumen actual del video el valor puede estar dentro del rango de 0 y 1.
- void Play()
Permite asignar el estado como Playing.
- void Pause()
Permite asignar el estado como Pause.
- void Stop()
Permite asignar el estado como Stopped.
- MediaEnded
Indica cuándo un video ha sido reproducido hasta el final.
- MediaFailed
Indica cuándo sucede un error al momento de cargar un video.
- MediaOpened
Indica cuándo un video ha sido cargado de manera correcta.
- SeekCompleted
Indica cuando una tarea de rebobinado ha sido completada..
Primero que nada se requiere instalar la version mas reciente de Xamarin.Forms la cual al dia de hot es la siguiente 4.5.0.282-pre4.
Como el control esta en preview, usted necesitara añadir una bandera para indicar que se utilizara este control, dentro de su código principal de su clase de aplicación principal es un lugar correcto para añadirlo, ejemplo:
Después de esto usted podrá añadir el control dentro de un xaml o código C#, enseguida un ejemplo de uso:
La propiedad "Position" no esta funcionando en tiempo real, es actualizada únicamente cuando se navega en el contenido del video.
La propiedad de "Volume" no esta funcionando de manera correcta en iOS causando algunas cierres inesperados y bloqueando la UI mientras se actualiza el valor.
Algunas propiedades no están funcionando con Bindings usted necesitara apuntar estos bindings directamente al control, estas propiedades son las siguientes CurrentState, BufferingProgress, Duration, Position, VideoHeight & VideoWidth.
https://github.com/AlejandroRuiz/MediaElementPreview
Cómo puedes ver este control esta como Preview por lo que algunas funciones no estan completamente funcionales y necesitan algunas mejores.
Ahora revisemos la API y la dividiremos en 3 partes, propiedades, methods y eventos.
1. Propiedades
- Aspect Aspect
Esta propiedad nos permite configurar el aspecto visual del video con alguno de los siguientes valores AspectFit(default), AspectFill or Fill, mismos que usamos en el control Image.
- bool AutoPlay
Esta propiedad nos permite configurar si nuestro reproductor iniciara automáticamente cuando la propiedad Source es asignada, por default la propiedad es asignada como "true".
- double BufferingProgress
Retorna el porcentaje de carga del video en curso.
- bool CanSeek
Retorna verdadero si el player contiene un recurso valido para reproducir en caso contrario retornara falso.
- MediaElementState CurrentState
Retorna el estado actual del reproductor, los valores posibles son los siguientes Closed, Opening, Buffering, Playing, Pause o Stopped.
- TimeSpan? Duration
Retorna la duracion del recurso actual en caso de no tener cargado algún recurso devolverá nulo.
- bool IsLooping
Obtiene o asigna si el reproductor reproducirá el video en bucle.
- bool KeepScreenOn
Obtiene o asigna si la pantalla permanecerá activa mientras el reproductor esta funcionando.
- bool ShowPlaybackControls
Obtiene o asigna si el reproductor mostrara los controles de reproducción, en caso de usar controles propios este valor necesitara ser asignado como falso.
- TimeSpan Position
Retorna la posición actual del reproductor.
- MediaSource Source
Obtiene o asigna el recurso actual, actualmente se soportan recursos locales y web.
- int VideoHeight
Retorna la altura del video en pixeles.
- int VideoWidth
Retorna el ancho del video en pixeles.
- double Volume
Obtiene o asigna el volumen actual del video el valor puede estar dentro del rango de 0 y 1.
2. Metodos
- void Play()
Permite asignar el estado como Playing.
- void Pause()
Permite asignar el estado como Pause.
- void Stop()
Permite asignar el estado como Stopped.
3. Event Handlers
- MediaEnded
Indica cuándo un video ha sido reproducido hasta el final.
- MediaFailed
Indica cuándo sucede un error al momento de cargar un video.
- MediaOpened
Indica cuándo un video ha sido cargado de manera correcta.
- SeekCompleted
Indica cuando una tarea de rebobinado ha sido completada..
Uso:
Primero que nada se requiere instalar la version mas reciente de Xamarin.Forms la cual al dia de hot es la siguiente 4.5.0.282-pre4.
Como el control esta en preview, usted necesitara añadir una bandera para indicar que se utilizara este control, dentro de su código principal de su clase de aplicación principal es un lugar correcto para añadirlo, ejemplo:
Después de esto usted podrá añadir el control dentro de un xaml o código C#, enseguida un ejemplo de uso:
Limitaciones / Problemas Conocidos
La propiedad "Position" no esta funcionando en tiempo real, es actualizada únicamente cuando se navega en el contenido del video.
La propiedad de "Volume" no esta funcionando de manera correcta en iOS causando algunas cierres inesperados y bloqueando la UI mientras se actualiza el valor.
Algunas propiedades no están funcionando con Bindings usted necesitara apuntar estos bindings directamente al control, estas propiedades son las siguientes CurrentState, BufferingProgress, Duration, Position, VideoHeight & VideoWidth.
Código De Ejemplo Github
https://github.com/AlejandroRuiz/MediaElementPreview
As stated by Stanford Medical, It's in fact the SINGLE reason this country's women get to live 10 years longer and weigh 19 kilos less than we do.
ResponderEliminar(Just so you know, it has NOTHING to do with genetics or some hard exercise and really, EVERYTHING about "how" they are eating.)
P.S, I said "HOW", not "what"...
Tap this link to reveal if this short questionnaire can help you discover your real weight loss potential