.net wpf video mediaelement

.net - Mostrar primer fotograma de video en WPF MediaElement



(3)

Tengo una aplicación WPF con un MediaElement que utilizo para ejecutar un video. No quiero que el video se reproduzca automáticamente cuando se carga, así que configuro LoadedBehavior en Manual.

<MediaElement LoadedBehavior="Manual" Source="foo.wmv" MediaOpened="videoElement_MediaOpened" />

Sin embargo; Quiero que el elemento muestre el primer cuadro del video cuando está cargado. ¿Hay alguna forma mágica de hacer esto?


No puedo comentar, por lo que aquí está mi respuesta: el fregado se refiere a la actualización de la imagen renderizada cuando el elemento Media está en pausa.

//Todo: Set your source //if not stated in the xmal, you can still set this here. Player.LoadedBehavior = MediaState.Manual; //Turn scrubbing on Player.ScrubbingEnabled = true; Player.Pause(); Player.Position = TimeSpan.FromTicks(1);

Gracias por la punta de fregado!


No tienes que crear un evento, ve a continuación

<MediaElement Source="foo.wmv" MediaOpened="videoElement_MediaOpened" LoadedBehavior="Pause" ScrubbingEnabled="True" />


También necesitas

ScrubbingEnabled="True"

A continuación, establecer un evento en carga

Loaded="Video1_Loaded"

En el método Video1_Load agregue lo siguiente:

Video1.Play(); Video1.Pause();

Ninguno de los contenidos de video se procesa antes de llamar al método de reproducción. Así que incluso si establece la posición más allá del primer fotograma, no obtendrá ningún dato presentado.

Creo que la propiedad MediaElement.ScrubbingEnabled es la clave.

Obtiene o establece un valor que indica si MediaElement actualizará los marcos para las operaciones de búsqueda mientras está en pausa. Es una propiedad de dependencia.

Intenté el mismo enfoque sin ScrubbingEnabled pero descubrí que el primer fotograma no se procesaría. No estoy seguro si es solo el hardware que estoy usando para esto. El otro elemento que se debe recordar es que la forma en que funciona el elemento de elementos multimedia, una vez que llama a Play (), es posible que no haga Pausa () en el primer fotograma exactamente, por lo que es posible que desee reducir el volumen en la transmisión antes de llamar a Play y restablecer después de llamar Pausa.