我能够知道连接到我的电脑的声音设备和 USB 设备,但无法找到连接到我的机器的相机。 使用下面的代码来获取声音设备
Console.WriteLine("Win32 SoundDevices\r\n===============================");
ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * from Win32_SoundDevice");
foreach (ManagementObject soundDevice in searcher.Get())
{
//Console.WriteLine("Device found: {0}\n", soundDevice.ToString());
Console.WriteLine("Device found: {0}\n", soundDevice.GetPropertyValue("ProductName"));
}
Console.WriteLine("Search complete.");
最佳答案
我编写了一个对我来说效果很好的解决方案。此方法在我的笔记本电脑上找到了两个 USB 摄像头和一个集成摄像头。
private static async Task ListAllCamerasAsync()
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM win32_PNPEntity WHERE PnPClass='Camera'");
var collection = await Task.Run(() => { return searcher.Get(); });
var cameraIndex = 0;
foreach (ManagementObject cameraDevice in collection)
{
Console.WriteLine($"Camera {cameraIndex}: {cameraDevice["Name"]}");
cameraIndex++;
}
}
关于c# - 如何使用 C# 检测连接到我的机器的相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18407548/