如何在Windows中获取连接的媒体设备

时间:2012-10-12 08:30:42

标签: c# .net webcam

我准备一个应用程序(charp),询问用户想要使用哪个网络摄像头,并从选定的网络摄像头获取流。要做到这一点,我需要搜索并找到连接的网络摄像头,这是我的第一步。第二步是从该网络摄像头获取流。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用此代码 - 基于ManagementObjectSearcher class

static List<USBDeviceInfo> GetUSBDevices()
    {
      List<USBDeviceInfo> devices = new List<USBDeviceInfo>();

      ManagementObjectCollection collection;
      using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_USBHub"))
        collection = searcher.Get();      

      foreach (var device in collection)
      {
        devices.Add(new USBDeviceInfo(
        (string)device.GetPropertyValue("DeviceID"),
        (string)device.GetPropertyValue("PNPDeviceID"),
        (string)device.GetPropertyValue("Description")
        ));
      }

      collection.Dispose();
      return devices;
    }