Дескриптор Application.Idle вызывается, когда никакая другая функция не вызывается вашей программой, и у вашего компьютера есть свободные ресурсы.Он не предназначен для вызова в установленные периоды.Вместо этого установите таймер и используйте его функцию для установки скорости воспроизведения.
Timer My_Time = new Timer();
int FPS = 30;
public Form1()
{
InitializeComponent();
//Frame Rate
My_Timer.Interval = 1000 / FPS;
My_Timer.Tick += new EventHandler(My_Timer_Tick);
My_Timer.Start();
_capture = new Capture("test.avi");
}
private void My_Timer_Tick(object sender, EventArgs e)
{
imageBox.Image = _capture.QueryFrame();
}
Приведенный выше код должен делать то, что вы хотите, отрегулируйте FPS для получения желаемой скорости воспроизведения.Если вам нужно что-то еще, дайте мне знать,
Приветствия
Крис