My code:
void Media_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
{
double time = e.Marker.Time.TotalSeconds;
double seconds = Media.NaturalDuration.TimeSpan.TotalSeconds;
if (time <= 0)
{
return;
}
double maker = time * SliderPosition.Maximum / seconds;
//TxtTime.Text = e.Marker.Time.Minutes + ":" + e.Marker.Time.Seconds;
TxtTime.Text = string.Format("{0:00}:{1:00}",Media.Position.Minutes,Media.Position.Seconds);
if (Flage)
{
SliderPosition.Value = maker;
}
}
void SliderPosition_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
double seconds = Media.NaturalDuration.TimeSpan.TotalSeconds;
double tvalue = seconds / SliderPosition.Maximum * this.SliderPosition.Value;
if (e.NewValue != tvalue)
{
double time = SliderPosition.Value / SliderPosition.Maximum * seconds;
Media.Position = new TimeSpan(0, 0, (int)time);
}
}
The problem :MediaElement.MarkerReaded can change SliderPosition.Value but change SliderPosition.Value
Trigger SliderPosition.ValueChanged and in this function trigger MediaElement.MarkerReaded so it runs Death cycle
I want to add a Signal variables I dont know how to do it or is there other way? thanks