我想要一个 MediaElement 应用程序。我想在指定时间使用此应用程序暂停 MediaElement。从理论上讲,我应该为此使用 2 DispatcherTimer。我正在使用 DispatcherTimer 进行暂停,但第二个计时器没有运行。我的代码有什么问题吗?这是我的代码。提前致谢
static DispatcherTimer dispatcherTimer, dispatcherTimer2;
private void MediaElement_CurrentStateChanged(object sender, RoutedEventArgs e)
{
if (((MediaElement)sender).CurrentState == MediaElementState.Playing)
{
tbMessage.Text = "playing";
dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler<object>(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
dispatcherTimer.Start();
dispatcherTimer2 = new DispatcherTimer();
dispatcherTimer2.Tick += dispatcherTimer2_Tick;
dispatcherTimer2.Interval = new TimeSpan(0, 0, 1);
dispatcherTimer2.Start();
}
}
void dispatcherTimer2_Tick(object sender, object e)
{
tb2.Text = dispatcherTimer2.Interval.Seconds.ToString();
if (dispatcherTimer2.Interval.Seconds == 12)
{
mp.Play();
//dispatcherTimer.Start();
}
}
private void dispatcherTimer_Tick(object sender, object e)
{
// Updating the Label which displays the current second
tbMessage.Text = DateTime.Now.Second.ToString();
tbMessage.Text = mp.Position.Seconds.ToString() + " " + dispatcherTimer.Interval.Seconds.ToString();
if (mp.Position.Seconds == 3)
{
mp.Pause();
}
}