Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152094
  • 博文数量: 75
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 749
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-19 11:38
文章分类
文章存档

2014年(38)

2013年(37)

我的朋友

分类: Windows平台

2013-12-23 16:12:16

选择一个视频捕捉设备

    首先设置 VideoSource = vs_VideoCaptureDevice来选择一个视频捕捉设备作为一个视频源。

    通过指定VideoDevice属性来选择当前的视频捕捉设备,VideoDevice属性是在VideoDevices属性中的一个索引,而VideoDevices属性包含了VideoDevicesCount项目。

    也可以用编程的方式通过它的名字,主要是因为它的名字会出现在VideoDevices列表中,选择视频捕捉设备,比如:

1
VideoGrabber.VideoDevice = VideoGrabber.VideoDeviceIndex ("Microsoft DV Camera and VCR - Sony DV VCR Camcorder DV")

    当前视频捕捉设备的名字可以通过VideoDeviceName报告,当选择了一个视频捕捉设备,它设备相关的属相将会从注册表重新加载,同时OnVideoDeviceSelected事件也会发生。

    注意:当组件处于非活动状态时,通过调用 ResetVideoDeviceSettings,这个注册表设置可以重置为其默认值。这个使用到的机会很少,但是如果当前设置显示一个黑色的视频时,就会非常的有用了。


确定几个具有相同品牌和型号的视频捕捉设备

    当使用几个具有相同品牌和型号的视频捕捉设备时,但是这些在VideoDevices列表中无法区分时,就可以使用VideoDevicesId列表代替VideoDevices列表属性。

比如:

1
VideoGrabber.VideoDevice = VideoGrabber.FindIndexInListByName (VideoGrabber.VideoDevicesId, "devicepnpavcjvcgr-dvl357egcamcorderdvb301b0000588800065e8773d-8f56-11d0-a3b9-00a0c9223196globalMicrosoft DV Camera and VCR", false, true);

连接/断开视频捕捉设备

    当连接/断开视频捕捉设备时,OnDeviceArrivalOrRemoval事件就会发生。这个时间将会报告VideoDevices列表中的视频捕获设备的名称和索引。

    在视频捕获设备断开后,IsVideoDeviceConnected就会返回一个true,知道设备被重新的连接上。

    如果相关设备用于预览或是记录,当设备断开连接的时候,OnDeviceLost事件就会发生,也就会停止预览或是记录。

    当一个视频捕获设备已断开连接,它不会从VideoDevices列表被删除,以防止管理视频捕捉设备的转移索引的复杂性,并且这个视频捕捉器的索引在当前移除设备的索引以上。

阅读(814) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~