Zatrzymanie aplikacji na określony czas.

0

Witam,
Stworzyłem pętlę dzięki której uzyskuję tyle przebiegów ile utworów do odtwarzania plików avi.
Problem jednak w tym, że te pliki odtwarza jedynie gdy wstrzymam wykonanie programu przez System.Threading.Thread.Sleep(5000); nie mając w tym czasie dostępu do interfejsu programu.
Czy jest jakaś alternatywa którą możecie mi polecić?

Kod przedstawia się następująco:

 for (int i = 0; i < listBox.Items.Count; i++)
            {
                var totalTime = TimeSpan.FromSeconds(TimerSlider.Maximum);
                string totalTime_ = totalTime.ToString(@"hh\:mm\:ss");

                TimerSlider.Value = videoClip.Position.TotalSeconds;
                string sliderValue = videoClip.Position.ToString(@"hh\:mm\:ss");

                videoClip.Position = TimeSpan.FromSeconds(TimerSlider.Value);
                string actualTime = videoClip.Position.ToString(@"hh\:mm\:ss");
               
                if (totalTime_ == actualTime)
                {

                    string plik = playlista[i];

                    videoClip.Source = new Uri(plik);
                   
                    MessageBox.Show(Convert.ToString("Odtwarzam" + plik));



                    videoClip.Play();



                }
1

A coś tego typu?

https://stackoverflow.com/questions/22158278/wait-some-seconds-without-blocking-ui-execution

public async void PlayAll()
{
    for (int i = 0; i < listBox.Items.Count; i++)
    {

        await Task.Delay(5000);
    }
}
0

Wszystko działa - dziękuję za odpowiedź i linka.

1 użytkowników online, w tym zalogowanych: 0, gości: 1