如何在音调播放后插入2秒的间隔

本文关键字:2秒 插入 播放 | 更新日期: 2023-09-27 18:10:58

System.Timers.Timer intervalTimer = new System.Timers.Timer(2000); // set the timer for 2 sec.
intervalTimer.Elapsed += new ElapsedEventHandler(intervalTimer_Elapsed);
private void doHearingTest(ArrayList TestSeq)
    {
        if (!initialTestCompleted && testPerFreqLeft == totalTestPerFreqForInit)
        {
            label1.Text += testFreqSet[(int)initTestSeq[currentFreqIndex]] + " , ";
            if (currentFreqIndex == numOfFreqTested - 1)
                label1.Text += " || ";
        }
        else if (initialTestCompleted && testPerFreqLeft == totalTestPerFreqForMalig)
        {
            label3.Text += testFreqSet[(int)maligTestSeq[currentFreqIndex]] + " , ";
            if (currentFreqIndex == numOfFreqTested - 1)
                label3.Text += " || ";
        }
        #endregion
        leftRightPan = (currentFreqIndex < numOfFreqTested) ? 10000 : -10000; //right = 10000
        int ear = (leftRightPan == 10000) ? 0 : 1;
        int freqIndex = (int)TestSeq[currentFreqIndex];

        int testVol = earFreqDBVolAdj[ear, freqIndex, currentTestVolIndex];

        noResponseTimer.Start();
        intervalTimer.Start();
        playTone(testFreqSet[freqIndex], testVol, leftRightPan, tonePlayTime);

        responseDetected = false;
        respondCounter = 0;
        testPerFreqLeft--;
    }
 private void intervalTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
        intervalTimer.Stop();   
    }

我想在前一个音和下一个音之间有2秒的间隔。知道怎么做吗?多谢。

如何在音调播放后插入2秒的间隔

在我看来,你只需要调用DoHearingTest()从你的处理程序函数,这应该做的伎俩

您可以查看此链接-示例设置定时器的事件处理程序。经过的事件,创建计时器,使用Interval属性设置计时器间隔,并启动计时器。事件处理程序在每次引发时显示SignalTime属性。

http://msdn.microsoft.com/en-us/library/system.timers.timer.interval (v = vs.110) . aspx

使用Windows.Form.Timer代替你正在使用的。

;
        System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
        t.Interval = 2000; // time to occuer the tick event
        t.Tick += new EventHandler(t_Tick); // create event

在你的Tick Event每隔两分钟写你的代码为声音;

    void t_Tick(object sender, EventArgs e)
    {
        t.stop();
        doHearingTest(TestSeq); // this is your code to run at every two minute
        t.start();
    }

请根据需要做其他更改…!!

try

Thread.Sleep(2000);

使当前线程休眠