Reproducir video y audio en .net

Las clases MediaElement y MediaPlayer se utilizan para presentar contenido de audio o vídeo. Estas clases se pueden controlar interactivamente o mediante un reloj. Estas clases pueden utilizar el control Microsoft Windows Media Player 10 para la reproducción multimedia. La clase que se utiliza depende del escenario.

MediaElement es una clase UIElement compatible con Diseño que se puede utilizar como contenido de muchos controles. También se puede utilizar en Lenguaje XAML, así como en el código. MediaPlayer, por otro lado, está diseñado para los objetos Drawing y carece de compatibilidad de diseño. Los objetos multimedia cargados mediante MediaPlayer únicamente se pueden presentar utilizando VideoDrawing o interactuando directamente con DrawingContext. MediaPlayer no se puede utilizar en XAML.

Para entender la reproducción multimedia en Windows Presentation Foundation (WPF), es preciso entender los distintos modos en que se pueden reproducir los objetos multimedia. MediaElement y MediaPlayer se pueden utilizar en dos modos multimedia diferentes, el modo independiente y el modo de reloj. El modo multimedia se determina mediante la propiedad Clock. Cuando Clock es null, el objeto multimedia está en modo independiente. Cuando Clock no es null, el objeto multimedia está en modo de reloj. De manera predeterminada, los objetos multimedia están en modo independiente.

Modo independiente

En el modo independiente, el contenido multimedia controla la reproducción multimedia. El modo independiente habilita las opciones siguientes:
  • Se puede especificar el Uri del objeto multimedia directamente.
  • Se puede controlar directamente la reproducción multimedia.
  • Se pueden modificar las propiedades Position y SpeedRatio del objeto multimedia.
  • El objeto multimedia se carga estableciendo la propiedad Source del objeto MediaElement o bien llamando al método Open del objeto MediaPlayer.
Para controlar la reproducción multimedia en modo independiente, se pueden utilizar los métodos de control del objeto multimedia. Los métodos de control disponibles son Play, Pause, Close y Stop. Para MediaElement, el control interactivo mediante estos métodos únicamente está disponible cuando LoadedBehavior está establecido en Manual. Estos métodos no están disponibles cuando el objeto multimedia está en modo de reloj.

Modo de reloj

En el modo de reloj, MediaTimeline controla la reproducción multimedia. El modo de reloj tiene las siguientes características:
  • El Uri del objeto multimedia se establece indirectamente a través de MediaTimeline.
  • La reproducción multimedia se puede controlar mediante el reloj. No se pueden utilizar los métodos de control del objeto multimedia.
  • El objeto multimedia se carga estableciendo la propiedad Source de un objeto MediaTimeline, creando el reloj a partir de la escala de tiempo y asignando el reloj al objeto multimedia. El objeto multimedia también se carga de esta manera cuando el destino de un objeto MediaTimeline de Storyboard es MediaElement.
Para controlar la reproducción multimedia en modo de reloj, se deben utilizar los métodos de control de ClockController. ClockController se obtiene de la propiedad ClockController de MediaClock. Si intenta utilizar los métodos de control de un objeto MediaElement o MediaPlayer mientras está en modo de reloj, se producirá una excepción InvalidOperationException.

Como reproducir un video


Primero creamos un proyecto de tipo WPF.

Nos vamos al cuadro de herramientas y agregamos un control MediaElement a la ventana.


El siguiente paso es agregar una carpeta y dentro de esta el video que deseamos reproducir, luego establecer la propiedad del archivo de video en copiar si es posterior, veamos cómo se hace:


Creamos una carpeta llamada Video.

Buscamos el video que deseamos reproducir.



Seleccionamos el archivo de video que acabamos de agregar, nos vamos a la pestaña propiedades y establecemos en Avanzadas copiar si es posterior.


Por ultimo seleccionamos el control MediaElement, vamos a la pestaña propiedades, localizamos la propiedad Source y seleccionamos el video.

Con este ya tendremos un reproductor de video básico, al ejecutar la aplicación el video se reproducirá automáticamente cuando termine de cargarse.

Como reproducir audio


Para reproducir audio realizamos exactamente los mismos pasos que realizamos para el video solo que en la propiedad Source del MediaElement seleccionamos el archivo de audio, que previamente agregamos de la misma forma como agregamos el video. 

Al reproducir un archivo de audio el MediaElement no tiene apariencia visual.

Comentarios

  1. buen material pero como se direccionaria a un botón para que esta pueda no solo iniciarse al inicio

    ResponderEliminar

Publicar un comentario

Temas relacionados

Entradas populares de este blog

tkinter Grid

tkinter Canvas

Histogramas OpenCV Python

Python Binance API