3

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

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

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

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

4

2 回答 2

7

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

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

您需要的关键字是FilterCategory.VideoInputDevice.

也可以看看:

于 2013-10-08T21:42:58.263 回答
3

.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);
}
于 2020-06-24T12:51:06.400 回答