private void Form1_Load(object sender, EventArgs e) { kinect = new KinectSource(); kinect.OnKinectReadyToStart += kinect_OnKinectReadyToStart; cbKinectDevice.Items.Add("0"); if (cbKinectDevice.Items.Count > 0) { cbKinectDevice.SelectedIndex = 0; } foreach (var device in VideoCapture1.Audio_CaptureDevicesInfo) { if (device.Name.ToUpper().Contains("XBOX")) { cbAudioCaptureDevice.Items.Add(device.Name); } } if (cbAudioCaptureDevice.Items.Count > 0) { cbAudioCaptureDevice.SelectedIndex = 0; cbAudioCaptureDevice_SelectedIndexChanged(null, null); } }
private void Form1_Load(object sender, EventArgs e) { kinect = new KinectSource(); kinect.OnKinectReadyToStart += kinect_OnKinectReadyToStart; kinect.OnGestureDetected += kinect_OnGestureDetected; for (int i = 0; i < kinect.DevicesCount; i++) { cbKinectDevice.Items.Add(i.ToString(CultureInfo.InvariantCulture)); } if (cbKinectDevice.Items.Count > 0) { cbKinectDevice.SelectedIndex = 0; } cbVideoSourceFormat.SelectedIndex = 0; cbDepthSourceFormat.SelectedIndex = 0; foreach (var device in VideoCapture1.Audio_CaptureDevicesInfo) { if (device.Name.Contains("Kinect")) { cbAudioCaptureDevice.Items.Add(device); } } if (cbAudioCaptureDevice.Items.Count > 0) { cbAudioCaptureDevice.SelectedIndex = 0; cbAudioCaptureDevice_SelectedIndexChanged(null, null); } }
private void Form1_Load(object sender, EventArgs e) { Text += " (SDK v" + VideoCapture1.SDK_Version + ", " + VideoCapture1.SDK_State + ")"; tmRecording.Elapsed += (senderx, args) => { UpdateRecordingTime(); }; kinect = new KinectSource(); kinect.OnKinectReadyToStart += kinect_OnKinectReadyToStart; kinect.OnGestureDetected += kinect_OnGestureDetected; for (int i = 0; i < kinect.DevicesCount; i++) { cbKinectDevice.Items.Add(i.ToString(CultureInfo.InvariantCulture)); } if (cbKinectDevice.Items.Count > 0) { cbKinectDevice.SelectedIndex = 0; } cbVideoSourceFormat.SelectedIndex = 0; cbDepthSourceFormat.SelectedIndex = 0; cbOutputFormat.SelectedIndex = 7; foreach (var device in VideoCapture1.Audio_CaptureDevicesInfo) { if (device.Name.Contains("Kinect")) { cbAudioCaptureDevice.Items.Add(device); } } if (cbAudioCaptureDevice.Items.Count > 0) { cbAudioCaptureDevice.SelectedIndex = 0; cbAudioCaptureDevice_SelectedIndexChanged(null, null); } edOutput.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VisioForge\" + "output.mp4"; }
/// <summary> /// Execute shutdown tasks /// </summary> private void Close() { _timer?.Change(Timeout.Infinite, Timeout.Infinite); if (_kinectSource != null) { _kinectSource.Close(); _kinectSource = null; } if (_bodyFrameDumper != null) { _bodyFrameDumper.Close(); _bodyFrameDumper = null; } if (_colorFrameDumper != null) { _colorFrameDumper.Close(); _colorFrameDumper = null; } }
private void Form1_Load(object sender, EventArgs e) { Text += " (SDK v" + VideoCapture1.SDK_Version + ", " + VideoCapture1.SDK_State + ")"; tmRecording.Elapsed += (senderx, args) => { UpdateRecordingTime(); }; cbOutputFormat.SelectedIndex = 7; kinect = new KinectSource(); kinect.OnKinectReadyToStart += kinect_OnKinectReadyToStart; cbKinectDevice.Items.Add("0"); if (cbKinectDevice.Items.Count > 0) { cbKinectDevice.SelectedIndex = 0; } foreach (var device in VideoCapture1.Audio_CaptureDevicesInfo) { if (device.Name.ToUpper().Contains("XBOX")) { cbAudioCaptureDevice.Items.Add(device.Name); } } if (cbAudioCaptureDevice.Items.Count > 0) { cbAudioCaptureDevice.SelectedIndex = 0; cbAudioCaptureDevice_SelectedIndexChanged(null, null); } edOutput.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VisioForge\" + "output.mp4"; }
public void Run() { try { _kinectSource = new KinectSource(); _kinectSource.FrameSync = Synchronize; _kinectSource.FrameProcessExceptionEvent += e => { Console.Error.WriteLine("Error: " + e.Message); Terminate(); }; } catch (Exception e) { Console.Error.WriteLine("Error initializing Kinect: " + e.Message); Cleanup(); return; } // initialize dumpers try { _bodyFrameDumper = new BodyFrameDumper(_kinectSource, BaseOutputFile + BodyDataOutputFileSuffix); if (DumpVideo) { _colorFrameDumper = new ColorFrameDumper(_kinectSource, BaseOutputFile + ColorDataOutputFileSuffix); } } catch (Exception e) { Console.Error.WriteLine("Error preparing dumpers: " + e.Message); Cleanup(); return; } Console.WriteLine("Starting capture"); Console.WriteLine($"Ouput skeleton data in file {BaseOutputFile + BodyDataOutputFileSuffix}"); if (DumpVideo) { Console.WriteLine($"Video stream @{_kinectSource.ColorFrameDescription.Width}x{_kinectSource.ColorFrameDescription.Height} outputed in file {BaseOutputFile + ColorDataOutputFileSuffix}"); } Console.WriteLine("Press X, Q or Control + C to stop capture"); Console.WriteLine(); Console.WriteLine("Capture rate(s):"); // write status in console every seconds _timer = new Timer(o => { Console.Write($"{_bodyFrameDumper.BodyCount} Skeleton(s) @ { _kinectSource.BodySourceFps:F1} Fps"); if (DumpVideo) { Console.Write($" - Color Frames @ { _kinectSource.ColorSourceFps:F1} Fps"); } Console.Write("\r"); }, null, 1000, 1000); // start capture _kinectSource.Start(); // wait for X, Q or Ctrl+C events to exit Console.CancelKeyPress += (sender, args) => Cleanup(); while (true) { // Start a console read operation. Do not display the input. var cki = Console.ReadKey(true); // Exit if the user pressed the 'X', 'Q' or ControlC key. if (cki.Key == ConsoleKey.X || cki.Key == ConsoleKey.Q) { break; } } Cleanup(); }