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();}
我想在使用我的程序时录制我的屏幕。
现在我正在使用这个代码:
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();}