0

I want to give delay in for loop, While in for loop there is mp3 file is playing. What I actually want to do, that every clip plays after 2 sec. There are total 10 clips. Here is my code

    for (int i=1; i < 10; i++)
        {
            System.Threading.Thread.Sleep(1000);
            WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer();

            wplayer.URL = @"D:\Project C#\A-Z\" + i + ".mp3";

        }
4

1 回答 1

2

1000毫秒 = 1 sec. 所以改变你的代码如下:

for (int i=1; i < 10; i++)
        {
            System.Threading.Thread.Sleep(2000);
            WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer();

            wplayer.URL = @"D:\Project C#\A-Z\" + i + ".mp3";

        }

添加计时器将解决您的问题:

第 1 步:Timer对象添加到您的类中,如下所示:

Timer timerPlay = new Timer();

第2步:

编写一个函数来播放音频文件。

private void playMyAudioFile(object sender,EventArgs e)
        {
           //code for playing your audio file
        }

第 3 步: 将上述函数订阅到TimerTick事件,如下所示:

 this.timerPlay.Tick += new System.EventHandler(this.playMyAudioFile);

订阅Tick事件的函数会为 的每个 Tick 事件通知/调用Timer

第 4 步: 现在设置Timer Interval为 2 秒。这样Timer就会每 2 秒生成Tick一次事件。

 timerPlay.Interval = 2000;

第 5 步:

在这里你可以Timer通过调用Start()Stop()方法来控制。

通过调用启动计时器:

timerPlay.Start();

通过调用停止计时器:

timerPlay.Stop();
于 2013-11-09T09:22:12.107 回答