【问题标题】:How To Get A List Of Available Video Capture Devices如何获取可用视频捕获设备的列表
【发布时间】:2013-10-08 21:35:00
【问题描述】:

我正在使用 DirectShow.Net 创建一个项目,该项目使用 Visual C# 在 Windows 窗体中显示网络摄像头视图的预览。

我想从收集可用的视频设备开始,这样我就可以在内置网络摄像头或 USB 网络摄像头之间进行选择。

我已经看到了几个用 C++ 完成的例子,例如在 msdn 上“http://msdn.microsoft.com/en-us/library/windows/desktop/dd377566(v=vs.85).aspx”。

但是,由于我不懂任何 C++,所以我不知道如何将此代码转换为 C#。

【问题讨论】:

    标签: c# c++ .net directshow directshow.net


    【解决方案1】:

    DirectShow.NET 示例 \Samples\Capture\DxLogo\Capture.cs 展示了如何做到这一点:

    // Get the collection of video devices
    capDevices = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
    

    您需要的关键字是FilterCategory.VideoInputDevice

    另见:

    【讨论】:

      【解决方案2】:

      .netcore 解决方案: 安装包:DirectShowLib.Standard

      然后就可以获取相机列表了:

      var devices = new List<DsDevice>(DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice));
      var cameraNames = new List<string>();
      foreach (var device in devices)
      {
          cameraNames.Add(device.Name);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-16
        • 2011-05-30
        • 2011-05-16
        • 1970-01-01
        • 2011-09-12
        • 2011-06-05
        • 2011-05-27
        • 1970-01-01
        相关资源
        最近更新 更多