在不占用UI线程的情况下延迟Silverlight中的MediaElement

时间:2014-06-26 05:49:49

标签: .net silverlight media thread-sleep

我有一个需要在我的MediaElement中播放的音频文件循环。

并且需要在每个之间等待5秒,我遇到了由

阻止的UI线程的问题

Thread.Sleep()命令。还有另一种延迟音频文件的方法吗?

        int _interval_time = 5000;

        ....

        //loop start

            Thread.Sleep(_interval_time); //holding up the UI

            media.Play();

        //loop end

我使用Silverlight 5(XAP)进行网络控制

1 个答案:

答案 0 :(得分:0)

感谢Rob,这是我从定时器中创建的解决方案。

        DispatcherTimer _timer = new DispatcherTimer();
        int counter = 0;
        _timer.Interval = TimeSpan.FromSeconds(1);
        _timer.Tick += (s, e) =>
        {
            counter++;

            if (counter >= _interval_time)
            {
                _timer.Stop();


                //do stuff here


            }

        };
        _timer.Start();