Показать первый кадр видео в WPF MediaElement
У меня есть WPF-приложение с MediaElement, которое я использую для запуска видео. Я не хочу, чтобы видео автоматически воспроизводилось при загрузке, поэтому я установил LoadedBehavior в Manual.
<MediaElement LoadedBehavior="Manual"
Source="foo.wmv"
MediaOpened="videoElement_MediaOpened" />
однако; я хочу, чтобы элемент показывал Первый кадр видео При загрузке. Есть ли какой-нибудь волшебный способ сделать это?
3 ответов
также необходимо
ScrubbingEnabled="True"
затем установите событие на Load
Loaded="Video1_Loaded"
В метод Video1_Load добавьте следующее:
Video1.Play();
Video1.Pause();
ни один из видеоконтента не отображается до вызова метода воспроизведения. Поэтому, даже если вы установите позицию за первым кадром, вы не получите никаких данных.
Я думаю MediaElement.ScrubbingEnabled свойство является ключом.
возвращает или задает значение, указывающее, будет ли обновляться MediaElement рамки для операций поиска приостановленный. Это свойство зависимостей.
я попробовал тот же подход без ScrubbingEnabled, но обнаружил, что первый кадр не оказывает. Не уверен, что это просто оборудование, которое я использую для этого. Другой элемент для запоминания заключается в том, что способ работы MediaElement, как только вы вызываете Play (), вы не можете на самом деле приостановить() на первом кадре точно, поэтому вы можете уменьшить громкость в потоке до вызов воспроизведения и сброса после вызова паузы.
вам не нужно создавать событие, см. Следующий раздел
<MediaElement Source="foo.wmv"
MediaOpened="videoElement_MediaOpened"
LoadedBehavior="Pause" ScrubbingEnabled="True" />
Я не могу комментировать, поэтому вот мой ответ: Очистка относится к обновлению отображаемого изображения при приостановке элемента MediaElement.
//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);
Спасибо за наконечник для очистки!