我在winforms中使用aforge进行视频录制。我想在窗口平板电脑中录制视频(前置和后置摄像头)。我能够找到视频捕获设备列表,但无法确定哪个是前置摄像头或后置摄像头。
我使用的命名空间:
using AForge.Video;
using AForge.Video.DirectShow;
我已经看到了我寻找视频捕获设备的代码片段:
public VideoCaptureDevice cam = null;
public FilterInfoCollection usbCams;
...
usbCams = new FilterInfoCollection(FilterCategory.VideoInputDevice);
if (usbCams.Count == 1)
{
cam = new VideoCaptureDevice(usbCams[0].MonikerString);
}
else if (usbCams.Count == 2)
{
cam = new VideoCaptureDevice(usbCams[1].MonikerString);
}
cam.NewFrame += new NewFrameEventHandler(cam_NewFrame);
cam.Start();
...
private void cam_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();
ImgContainer.Image = bitmap;
}
我在 iball 和 lenovo yoga 8 等不同设备上进行了测试。我发现一个原因是在 Iball 平板电脑中返回第一个前置摄像头名称和第二个后置摄像头,但在联想平板电脑中返回第一个后置摄像头和第二个前置摄像头。我完全糊涂了。如何识别前置摄像头和后置摄像头?