向用户显示视频已在WPF中结束

时间:2010-10-25 04:07:41

标签: c# wpf video treeview slider

我需要帮助!我正面临一个与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.";

}
  • 视频= MediaElement
  • VideoTime =滑块的名称
  • cooking.wmv =视频
  • info.Text =文本框

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

从我收集的内容来看,这基本上就是你需要做的事情:

  1. 你需要弄清楚视频/片段(a)何时完成。您可以将事件连接到slider.ValueChanged(在您的情况下为VideoTime.ValueChanged)并检查值是否为slider.MaxValue。或者你可以创建一个计时器,在剪辑(a)持续时间后触发一个勾号。
  2. 一旦解决了第一点,其余的应该很容易。假设您有一个关于是否提示或只是显示某些文本的复选框,在您检测到剪辑(a)已完成的位置,您可以检查复选框的状态并采取相应措施 - 停止/暂停视频({{1 }}并显示提示或将某些内容写入文本框......
  3. PS!我正在写下我的头脑,我还没有确认滑块控件有一个ValueChanged事件(我猜它有)等等......