Я создаю тренировочное приложение, которое воспроизводит звук каждые несколько секунд, и при нажатии кнопки уменьшается временной интервал для воспроизведения звука. Например, при запуске он воспроизводит звук каждые 15 секунд, а когда я нажимаю кнопку, он должен воспроизводить звук каждые 10 секунд. Обычно каждый раз, когда пользователь нажимает кнопку, интервал уменьшается на 5 секунд. Так что у меня есть DispatcherTimer в верхней части моего класса и создал его интервал и метод Tick, когда страница загружается таким образом. У меня также есть переменная int для секунд в промежутке времени.
DispatcherTimer timer = new DispatcherTimer();
int interval = 15;
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
timer.Interval = new TimeSpan(0, 0, interval);
timer.Tick += new EventHandler(timer_Tick);
timer.Start();
}
void btn_Click(object sender, RoutedEventArgs e)
{
Button btn = sender as Button;
interval -= 5;
timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, interval);
}
Но это заставляет звук играть безумно. Есть ли правильный способ сделать это?