播放mp3文件C#时延迟循环

时间:2013-11-09 09:18:59

标签: c# .net winforms

我想延迟for循环,而在for循环中有mp3文件正在播放。 我真正想做的是,每个剪辑在2秒后播放。共有10个剪辑。  这是我的代码

    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";

        }

1 个答案:

答案 0 :(得分: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事件的

函数会针对Timer的每个Tick事件通知/调用。

第4步: 现在将Timer Interval设置为2秒。 以便Timer每2秒生成一次Tick事件。

 timerPlay.Interval = 2000;

第5步:

您可以通过调用TimerStart()方法控制Stop()

通过调用以下方式启动计时器:

timerPlay.Start();

通过调用

来停止计时器
timerPlay.Stop();