У меня есть изображение с эскизом видео и MediaElement с реальным видео, например, так:MediaElement: показать при загрузке
<Image Source="{Binding thumbnailurl}"/>
<MediaElement Position="{Binding currenttime}" MediaOpened="MediaElement_Opened" Source="{Binding videourl}" AutoPlay="True" Visibility="Collapsed"/>
С свойством изменился слушатель на CurrentTime ролика:
private TimeSpan _currenttime;
public TimeSpan currenttime
{
get { return _currenttime; }
set
{
if (_currenttime == value) return;
_currenttime = value;
NotifyTimeSpanChanged("timespan");
}
}
protected void NotifyTimeSpanChanged(string name)
{
System.ComponentModel.PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new System.ComponentModel.PropertyChangedEventArgs(name));
}
}
с этим EventHandler:
private void MyClass_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName.Equals("timespan"))
{
MediaElement me = (MediaElement)sender;
if (me.Position.Milliseconds > 42)
{
me.Visibility = Visibility.Visible; // show video now
}
}
}
Я хочу, чтобы сделать переход от steamless thumbnai l к видео, когда видеоролик составляет 42 мс (первый кадр). Проблема в том, что никогда не происходит событие изменения времени ...
Хорошая идея! Ты посадил меня на правильный путь. Пожалуйста, уточните мой обновленный вопрос :). –
@PhilippeMaes Вам нужна позиция = "{Время привязки, режим = TwoWay}". – John
Спасибо, ребята, удивительный –