我想在使用我的程序时录制我的屏幕。
现在我正在使用以下代码:
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;
vfWriter = new VideoFileWriter((; vfWriter.Open("Exported_Video.avi", 800, 600, 25, VideoCodec.MPEG4, 1000000(;
然后创建一个开始按钮来启动计时器。
private void btnStart_Click(object sender, EventArgs e) { videoTimer.Start(); }
在计时器时钟周期事件中,从视频文件编写器和捕获屏幕的大小创建位图图像,并将其写入位图图像。然后,将图像写入视频文件编写器。
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();}