C# 使用Microsoft Expression编码器连续录制5分钟(x分钟)的视频

C# 使用Microsoft Expression编码器连续录制5分钟(x分钟)的视频,c#,screen,video-capture,video-recording,microsoft-expression,C#,Screen,Video Capture,Video Recording,Microsoft Expression,我的软件是连续录制5分钟的视频。 示例:软件应在节目开始时开始录制,并在缓冲区中连续保存5分钟的视频。当我停止录制时,最后5分钟的录制应保存到磁盘 private void CaptureMoni() { try { Rectangle _screenRectangle = Screen.PrimaryScreen.Bounds; _screenCaptureJob

我的软件是连续录制5分钟的视频。 示例:软件应在节目开始时开始录制,并在缓冲区中连续保存5分钟的视频。当我停止录制时,最后5分钟的录制应保存到磁盘

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) { }
        }
诸如此类:

private void SaveRecord(int cntMinutes)
        {

            try
            {
                _screenCaptureJob.Stop();
                // something like that
                _screenCaptureJob.SaveLastXMinutes(cntMinutes);
            }
            catch(Exception e) { }
        }

我想你做不到。因为您实际上希望它在继续捕获下一个视频时停止录制。最好的解决方案是捕获长视频,然后将其切成5分钟的片段。但你可能已经知道了,因为这个问题已经问了很久了。我想你不可能。因为您实际上希望它在继续捕获下一个视频时停止录制。最好的解决方案是捕获长视频,然后将其切成5分钟的片段。但你可能已经知道了,因为这个问题已经问了很久了。