启动另一个计时器的计时器 - 错误的间隔

时间:2015-05-12 15:00:42

标签: c# timer video-recording

我制作了一个小型监控工具,用于记录网络摄像头的图像。为了保持数据量的流畅,而不是录制视频,我只需每三秒钟保存三张快照,然后每隔一分钟重复一次。

我在我的表单中添加了两个计时器,timerMin的间隔为60,000,timer3Sec的间隔为3000,添加了事件处理程序并在表单加载时启动分钟计时器:

timerMin.Tick += timerMin_Tick;
timer3Sec.Tick += timer3Sec_Tick;
timerMin.Start();

然后我从分钟嘀嗒事件中开始3秒计时器:

private void timerMin_Tick(object sender, EventArgs e)
{
    timer3Sec.Start();
}

在3秒计时器的勾选事件中,我保存了快照并增加了一个计数器,所以我知道保存了3个快照:

private void timer3Sec_Tick(object sender, EventArgs e)
{
    SaveSnap((Bitmap)pictureBox1.BackgroundImage);
    Ticks++;
    if (Ticks > 2)
    {
        timer3Sec.Stop();
        Ticks = 0;
    }
}

“Ticks”是一个公共int,初始化为0.我希望这会导致每分钟三个快照。唉,我每分钟只得到一个。我的思维在哪里出错?

1 个答案:

答案 0 :(得分:1)

确保在int y[1000]; //Generation of array void __fastcall TForm1::Button2Click(TObject *Sender){ Memo2->Clear(); for (int i=0;i<100;i++){ y[i]=rand()%1000; Memo2->Lines->Add(IntToStr(y[i])); } } 方法中生成不同的文件名。

警惕DateTime.ToShortTimeString,它只会下降到几分钟。 ; - )