c# VideoFileWriter 属性

c# VideoFileWriter properties

我想在使用我的程序时录制我的屏幕。

现在我正在使用这个代码:

recorder.Open(pathFolder+GetCurrentDateAndTime() + ".mp4", Convert.ToInt32(System.Windows.SystemParameters.PrimaryScreenWidth), Convert.ToInt32(System.Windows.SystemParameters.PrimaryScreenHeight), 10, VideoCodec.MPEG4, 2000000);

记录不错就是太快了

我应该怎么改才不至于太快,还是正常速度?

首先,初始化一个定时器控件,并为该控件分配属性。然后,为该计时器创建一个 tick 事件。

videoTimer = new Timer(); videoTimer.Interval = 20; videoTimer.Tick += videoTimer_Tick;

vfWriter = new VideoFileWriter(); vfWriter.Open("Exported_Video.avi", 800, 600, 25, VideoCodec.MPEG4, 1000000);

然后创建一个启动按钮来启动计时器

private void btnStart_Click(object sender, EventArgs e) { videoTimer.Start(); }

在计时器 tick 事件中,根据 VideoFileWriter 的大小创建位图图像,然后捕获屏幕并将其写入位图图像。然后,将图像写入 VideoFileWriter

private void videoTimer_Tick(object sender, EventArgs e){bp = new Bitmap(800, 600); gr = Graphics.FromImage(bp);gr.CopyFromSceen(0, 0, 0, 0, new Size(bp.Width, bp.Height));
pictureBox1.Image = bp;
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
vfWriter.WriteVideoFrame(bp);

}

最后创建一个停止按钮来停止计时器并保存文件。

private void btnStop_Click(object sender, EventArgs e){ videoTimer.Stop();vfWriter.Close();}