Чтобы показать пользователю, что видео закончилось в WPF - PullRequest
1 голос
/ 25 октября 2010

Мне нужна помощь!Я столкнулся с проблемой, связанной с Slider + Tree View + Video.Использование Blend и WPF, язык C #.

Заголовок

 (a) sub header X << Play Video (a) only on click
 (b) sub header Y << Play Video (b) only on click

Видео (a) [Продолжительность от 0:00 до 0:09] и Видео (b) [Продолжительность от 0:10 до 0: 20]

Я объединил Видео (a) и Видео (b) в одно видео, так что когда пользователь нажимает (a) подзаголовок X или (b) подзаголовок Y, он будет воспроизводиться наэто конкретное видео и ползунок также могут определять, где находится видео.

Итак, теперь я хочу остановить видео, когда пользователь нажимает (a) подзаголовок X, после завершения воспроизведения видео (a) онопредложит пользователю нажать на (b) подзаголовок Y, чтобы продолжить просмотр видео.

Если я не хочу получать подсказки, я также могу просто написать несколько текстов в текстовом поле, чтобы показать пользователю, что видео(a) закончился, и теперь они смотрят видео (b).

Мое кодирование показано ниже:

private void headerX_Selected(object sender, RoutedEventArgs e)
{

  Video.Source = new Uri(@".\cooking.wmv", UriKind.Relative);

  Video.Play();

  info.Text = "Boil 500ml of water.";

}

private void headerY_Selected(object sender, RoutedEventArgs e)
{

  Video.Position = TimeSpan.FromSeconds(VideoTime.Value = 10);

  Video.Play();

  info.Text = "Add noodles when the water has boiled.";

}
  • Video = MediaElement
  • VideoTime = название слайдера
  • cooking.wmv = Видео
  • info.Text = Текстовое поле

Любая помощь будетоценили.

1 Ответ

0 голосов
/ 23 октября 2011

Из того, что я собрал, тогда это в основном то, что вам нужно сделать:

  1. Вам нужно выяснить, когда закончится видео / клип (а).Возможно, вы можете подключить событие к slider.ValueChanged (VideoTime.ValueChanged в вашем случае) и проверить, является ли значение slider.MaxValue.Или вы можете создать таймер, который запускает тик после продолжительности клипа (a).
  2. Как только первая точка будет решена, остальное должно быть легким.Предполагая, что у вас есть флажок, запрашивать ли или просто показывать какой-либо текст, в тот момент, когда вы обнаруживаете, что этот клип (а) завершен, вы проверяете состояние флажка и действуете соответствующим образом - либо остановите / приостановите видео (Video.Stop();) и покажите подсказку или напишите что-нибудь в текстовое поле ...

PS!Я пишу с головы до головы, я не проверял, что у ползункового элемента управления есть событие ValueChanged (я полагаю, что оно есть) и т. Д. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...