视频处理控件TVideoGrabber视频捕捉设设备相关问题
选择一个视频捕捉设备
首先设置 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列表属性。
>>示例代码
连接/断开视频捕捉设备
当连接/断开视频捕捉设备时,OnDeviceArrivalOrRemoval事件就会发生。这个时间将会报告VideoDevices列表中的视频捕获设备的名称和索引。
在视频捕获设备断开后,IsVideoDeviceConnected就会返回一个true,知道设备被重新的连接上。
如果相关设备用于预览或是记录,当设备断开连接的时候,OnDeviceLost事件就会发生,也就会停止预览或是记录。
当一个视频捕获设备已断开连接,它不会从VideoDevices列表被删除,以防止管理视频捕捉设备的转移索引的复杂性,并且这个视频捕捉器的索引在当前移除设备的索引以上。
当tvideograbber运行时,遵循以下规则:>>具体规则