[WINRT] Mostrando Video directamente en un control con XAML + C#

Introducción

Una de las características de trabajar con WINRT es la facilidad para hacer uso de las “capacidades” del ordenador en el que está funcionando nuestra aplicación.

En este pequeño post vamos a ver como llevar a cabo el acceso a la webcam de nuestro equipo, y reproducir dicho contenido en una vista o control de nuestro desarrollo.

Al lio!

Para que podamos hacer uso de  la webcam y reproducir el contenido en tiempo de ejecución, vamos a necesitar agregar las siguientes “Capabilties” a nuestro proyecto:

– Microphone

– WebCam

El control que va a actuar como “host” del video va a ser del tipo “CaptureElement

Para ello dentro de nuestro Usercontrol lo Page, lo definiremos como sigue:

   1: <CaptureElement Name="capture" Stretch="Fill" Opacity="100"/>

Bien, una vez definido en nuestro XAML, vamos a agregar el código necesario para empezar a mostrar video:

En primer lugar vamos a configurar el uso de la WEBCAM:

   1: private MediaCapture mediaCaptureMgr;

   2: private async void ConfigureWebCam()

   3: {

   4:     if (mediaCaptureMgr == null)

   5:                 {

   6:  

   7:                     mediaCaptureMgr = new MediaCapture();

   8:                     await mediaCaptureMgr.InitializeAsync();

   9:  

  10:                     capture.Source = mediaCaptureMgr;

  11:                     await mediaCaptureMgr.StartPreviewAsync();

  12:     }

  13: }

A continuación bastaría con agregar una llamada a está función desde el sitio que deseemos (Botón, constructor…)

La primera vez que se ejecute la aplicación nos pedirá permiso para ejecutar la cámara.

Os dejo el ejemplo, y espero que os sea de utilidad.

 

Saludos!

Un comentario sobre “[WINRT] Mostrando Video directamente en un control con XAML + C#”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *