private ScreenCaptureSourceSettings CreateScreenCaptureSource() { var source = new ScreenCaptureSourceSettings { Mode = VFScreenCaptureMode.Window, WindowHandle = IntPtr.Zero }; try { if (windowCaptureForm == null) { MessageBox.Show("Window for screen capture is not specified."); return(null); } source.WindowHandle = windowCaptureForm.CapturedWindowHandle; } catch (Exception ex) { MessageBox.Show(ex.Message); } if (source.WindowHandle == IntPtr.Zero) { MessageBox.Show("Incorrect window title for screen capture."); return(null); } source.FrameRate = (float)Convert.ToDouble(edScreenFrameRate.Text); return(source); }
private async void btStart_Click(object sender, EventArgs e) { edLog.Text = string.Empty; if (!LoadImages()) { return; } var source = new ScreenCaptureSourceSettings { Left = 0, Right = _imageWidth, Top = 0, Bottom = _imageHeight, FrameRate = Convert.ToInt32(edVideoFrameRate.Text), Mode = ScreenCaptureMode.Color }; VideoCapture1.Screen_Capture_Source = source; VideoCapture1.Audio_PlayAudio = false; VideoCapture1.Audio_RecordAudio = false; VideoCapture1.Mode = VideoCaptureMode.ScreenCapture; VideoCapture1.Output_Format = new MP4Output(); VideoCapture1.Output_Filename = edOutputFile.Text; VideoCapture1.Debug_Mode = cbDebug.Checked; await VideoCapture1.StartAsync(); }
private async void btStart_Click(object sender, EventArgs e) { VideoCapture1.Debug_Mode = cbDebugMode.Checked; VideoCapture1.Debug_Dir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "VisioForge"); VideoCapture1.Debug_Telemetry = cbTelemetry.Checked; // configure source var screenSource = new ScreenCaptureSourceSettings(); screenSource.Mode = ScreenCaptureMode.Screen; screenSource.FullScreen = rbScreenFullScreen.Checked; screenSource.Top = Convert.ToInt32(edScreenTop.Text); screenSource.Bottom = Convert.ToInt32(edScreenBottom.Text); screenSource.Left = Convert.ToInt32(edScreenLeft.Text); screenSource.Right = Convert.ToInt32(edScreenRight.Text); screenSource.DisplayIndex = Convert.ToInt32(cbScreenCaptureDisplayIndex.Text); screenSource.FrameRate = Convert.ToInt32(edScreenFrameRate.Text); screenSource.GrabMouseCursor = cbScreenCapture_GrabMouseCursor.Checked; screenSource.AllowDesktopDuplicationEngine = cbScreenCapture_DesktopDuplication.Checked; VideoCapture1.Screen_Capture_Source = screenSource; // audio capture if (cbAudioCapture.Checked) { VideoCapture1.Audio_PlayAudio = false; VideoCapture1.Audio_RecordAudio = true; // select first audio device with default parameters if (VideoCapture1.Audio_CaptureDevices().Any()) { VideoCapture1.Audio_CaptureDevice = new AudioCaptureSource(VideoCapture1.Audio_CaptureDevices()[0].Name); } } else { VideoCapture1.Audio_PlayAudio = false; VideoCapture1.Audio_RecordAudio = false; } // configure output if (cbCapture.Checked) { VideoCapture1.Mode = VideoCaptureMode.ScreenCapture; VideoCapture1.Output_Format = new MP4Output(); VideoCapture1.Output_Filename = edOutput.Text; } else { VideoCapture1.Mode = VideoCaptureMode.ScreenPreview; } await VideoCapture1.StartAsync(); }
private ScreenCaptureSourceSettings CreateScreenCaptureSource(int screenID, bool forcedFullScreen) { var source = new ScreenCaptureSourceSettings(); if (rbScreenCaptureWindow.IsChecked == true) { source.Mode = ScreenCaptureMode.Window; source.WindowHandle = IntPtr.Zero; try { if (windowCaptureForm == null) { MessageBox.Show("Window for screen capture is not specified."); return(null); } source.WindowHandle = windowCaptureForm.CapturedWindowHandle; } // ReSharper disable once EmptyGeneralCatchClause catch (Exception ex) { Debug.WriteLine(ex.ToString()); } if (source.WindowHandle == IntPtr.Zero) { MessageBox.Show("Incorrect window title for screen capture."); return(null); } } else { source.Mode = ScreenCaptureMode.Screen; } source.FrameRate = (float)Convert.ToDouble(edScreenFrameRate.Text); source.FullScreen = rbScreenFullScreen.IsChecked == true || forcedFullScreen; source.Top = Convert.ToInt32(edScreenTop.Text); source.Bottom = Convert.ToInt32(edScreenBottom.Text); source.Left = Convert.ToInt32(edScreenLeft.Text); source.Right = Convert.ToInt32(edScreenRight.Text); source.GrabMouseCursor = cbScreenCapture_GrabMouseCursor.IsChecked == true; source.DisplayIndex = screenID; source.AllowDesktopDuplicationEngine = cbScreenCapture_DesktopDuplication.IsChecked == true; return(source); }
private ScreenCaptureSourceSettings CreateScreenCaptureSource(int screenID, bool forcedFullScreen) { var source = new ScreenCaptureSourceSettings(); if (rbScreenCaptureWindow.Checked) { source.Mode = VFScreenCaptureMode.Window; source.WindowHandle = IntPtr.Zero; try { source.WindowHandle = FindWindow(edScreenCaptureWindowName.Text, null); } // ReSharper disable once EmptyGeneralCatchClause catch { } if (source.WindowHandle == IntPtr.Zero) { MessageBox.Show("Incorrect window title for screen capture."); return(null); } } else { source.Mode = VFScreenCaptureMode.Screen; } source.FrameRate = (float)Convert.ToDouble(edScreenFrameRate.Text); source.FullScreen = rbScreenFullScreen.Checked || forcedFullScreen; source.Top = Convert.ToInt32(edScreenTop.Text); source.Bottom = Convert.ToInt32(edScreenBottom.Text); source.Left = Convert.ToInt32(edScreenLeft.Text); source.Right = Convert.ToInt32(edScreenRight.Text); source.GrabMouseCursor = cbScreenCapture_GrabMouseCursor.Checked; source.DisplayIndex = screenID; source.AllowDesktopDuplicationEngine = cbScreenCapture_DesktopDuplication.Checked; return(source); }
private async void btStart_Click(object sender, EventArgs e) { VideoCapture1.Debug_Mode = cbDebugMode.Checked; VideoCapture1.Debug_Dir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\VisioForge\\"; VideoCapture1.Debug_Telemetry = cbTelemetry.Checked; // configure source var screenSource = new ScreenCaptureSourceSettings(); screenSource.Mode = VFScreenCaptureMode.Screen; screenSource.FullScreen = rbScreenFullScreen.Checked; screenSource.Top = Convert.ToInt32(edScreenTop.Text); screenSource.Bottom = Convert.ToInt32(edScreenBottom.Text); screenSource.Left = Convert.ToInt32(edScreenLeft.Text); screenSource.Right = Convert.ToInt32(edScreenRight.Text); screenSource.DisplayIndex = Convert.ToInt32(cbScreenCaptureDisplayIndex.Text); screenSource.FrameRate = Convert.ToInt32(edScreenFrameRate.Text); screenSource.GrabMouseCursor = cbScreenCapture_GrabMouseCursor.Checked; screenSource.AllowDesktopDuplicationEngine = cbScreenCapture_DesktopDuplication.Checked; VideoCapture1.Screen_Capture_Source = screenSource; // disable audio VideoCapture1.Audio_PlayAudio = false; VideoCapture1.Audio_RecordAudio = false; // configure output if (cbCapture.Checked) { VideoCapture1.Mode = VFVideoCaptureMode.ScreenCapture; VideoCapture1.Output_Format = new VFMP4v8v10Output(); VideoCapture1.Output_Filename = edOutput.Text; } else { VideoCapture1.Mode = VFVideoCaptureMode.ScreenPreview; } await VideoCapture1.StartAsync(); }
private void btStart_Click(object sender, EventArgs e) { // configure source var screenSource = new ScreenCaptureSourceSettings(); screenSource.Mode = VFScreenCaptureMode.Screen; screenSource.FullScreen = rbScreenFullScreen.Checked; screenSource.Top = Convert.ToInt32(edScreenTop.Text); screenSource.Bottom = Convert.ToInt32(edScreenBottom.Text); screenSource.Left = Convert.ToInt32(edScreenLeft.Text); screenSource.Right = Convert.ToInt32(edScreenRight.Text); screenSource.DisplayIndex = Convert.ToInt32(cbScreenCaptureDisplayIndex.Text); screenSource.FrameRate = Convert.ToInt32(edScreenFrameRate.Text); screenSource.GrabMouseCursor = cbScreenCapture_GrabMouseCursor.Checked; screenSource.AllowDesktopDuplicationEngine = cbScreenCapture_DesktopDuplication.Checked; VideoCapture1.Screen_Capture_Source = screenSource; // disable audio VideoCapture1.Audio_PlayAudio = false; VideoCapture1.Audio_RecordAudio = false; // configure output if (cbCapture.Checked) { VideoCapture1.Mode = VFVideoCaptureMode.ScreenCapture; VideoCapture1.Output_Format = new VFMP4v8v10Output(); VideoCapture1.Output_Filename = edOutput.Text; } else { VideoCapture1.Mode = VFVideoCaptureMode.ScreenPreview; } this.VideoCapture1.Start(); }