如何使用C#.Net将屏幕捕获为视频?

mas*_*_99 16 c# screen-capture desktop-recording

我知道有很多这样的问题.

但我不想使用Windows媒体编码器9,因为获取一个是一个问题,然后它不再受支持.

我知道,一种可能性是捕获大量屏幕截图并创建视频,ffmpeg但我不想使用第三方可执行文件.

.net唯一的解决方案吗?

mas*_*_99 9

答案是Microsoft Expression Encoder.根据我的观点,在Vista和Windows 7上录制内容的最简单方法

private void CaptureMoni()
        {

            try
            {
                Rectangle _screenRectangle = Screen.PrimaryScreen.Bounds;
                _screenCaptureJob = new ScreenCaptureJob();
                _screenCaptureJob.CaptureRectangle = _screenRectangle;
                _screenCaptureJob.ShowFlashingBoundary = true;
                _screenCaptureJob.ScreenCaptureVideoProfile.FrameRate = 20;
                _screenCaptureJob.CaptureMouseCursor = true;

                _screenCaptureJob.OutputScreenCaptureFileName = string.Format(@"C:\test.wmv");
                if (File.Exists(_screenCaptureJob.OutputScreenCaptureFileName))
                {
                    File.Delete(_screenCaptureJob.OutputScreenCaptureFileName);
                }
                _screenCaptureJob.Start();
            }
            catch(Exception e) { }
        }
Run Code Online (Sandbox Code Playgroud)

  • 旧帖子,但我觉得我应该提一下,如果您希望录制持续时间超过10分钟的视频,使用Expression Encoder需要专业版许可证,而GPU编码也需要专业版许可证.(就个人而言,没有GPU编码,我无法获得任何输出) (2认同)