Add Menu for selecting Capture Device

This commit is contained in:
2026-01-07 10:20:02 +01:00
parent 5fb77c2abb
commit d1714ebc62

View File

@@ -2,13 +2,29 @@
using FlashCap; using FlashCap;
var device = new CaptureDevices(); var device = new CaptureDevices();
foreach (var descriptor in device.GetDescriptors()) var descriptors = device.GetDescriptors().Where(x=>x.Characteristics.Length > 0).ToList();
var deviceIndex = -1;
while (deviceIndex == -1)
{ {
Console.WriteLine($"Name: {descriptor.Name}, " + PrintDevices(descriptors);
$"Description: {descriptor.Description}, " + var input = Console.ReadLine();
$"DeviceType: {descriptor.DeviceType}, " + int.TryParse(input, out var result);
$"Identity: {descriptor.Identity}" + if (result<1 || result>descriptors.Count)
$"Characteristics:\n" + {
$"\t{string.Join("\n\t",descriptor.Characteristics.Where(x=>x.Height >=1080))}" continue;
); }
deviceIndex = result-1;
}
var captureDescriptor = descriptors[deviceIndex];
Console.WriteLine($"Characteristics:\n\t{string.Join("\n\t",captureDescriptor.Characteristics)}");
return;
void PrintDevices(List<CaptureDeviceDescriptor> captureDeviceDescriptors)
{
Console.WriteLine("Choose your Device:");
for (var index = 0; index < captureDeviceDescriptors.Count; index++)
{
var descriptor = captureDeviceDescriptors[index];
Console.WriteLine($"\t({index+1}): {descriptor.Name}");
}
} }