Pergunta

Eu tenho uma aplicação WPF com um mediarelement que eu uso para executar um vídeo. Não quero que o vídeo seja automaticamente quando carregado, então eu defino o comportamento carregado como manual.

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

No entanto; Quero que o elemento mostre o primeiro quadro do vídeo quando carregado. Existe alguma maneira mágica de fazer isso?

Foi útil?

Solução

Você também precisa

ScrubbingEnabled="True"

Em seguida, defina um evento na carga

Loaded="Video1_Loaded"

No método Video1_load Adicione o seguinte:

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

Nenhum conteúdo de vídeo é renderizado antes que o método de reprodução seja chamado. Portanto, mesmo se você definir a posição após o primeiro quadro, não receberá nenhum dado renderizado.

Eu acho que o MediaLement.ScrubbingEnabled A propriedade é a chave.

Obtém ou define um valor que indica se o mediarelement atualizará os quadros para operações de busca durante a pausa. Esta é uma propriedade de dependência.

Eu tentei a mesma abordagem sem limpar a NECENDABLED, mas descobri que o primeiro quadro não renderizaria. Não tenho certeza se é apenas o hardware que estou usando para isso. O outro item a ser Rember é que a maneira como o mediarelement funciona, depois de ligar para o play (), você pode realmente não fazer paus Pausa.

Outras dicas

Você não precisa criar um evento, veja seguintes

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

Não posso comentar, então aqui está minha resposta: Labar se refere à atualização da imagem renderizada quando o mediarelement é pausado.

//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);

Obrigado pela ponta da lavagem!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top