以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在一个窗口调取2个摄像头,怎么老是只显示1个?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135490)

--  作者:yjm789000
--  发布时间:2019/5/27 23:35:00
--  [求助]在一个窗口调取2个摄像头,怎么老是只显示1个?
[求助]在一个窗口调取2个摄像头,怎么老是只显示1个?


图片点击可在新窗口打开查看此主题相关图片如下:s1.jpg
图片点击可在新窗口打开查看

使用的代码是下面的:

\'获取摄像头列表
Dim camList As WinForm.ComboBox = e.Form.Controls("CamList")
Dim camList1 As WinForm.ComboBox = e.Form.Controls("CamList1")
Functions.Execute("GetCams")
\'显示摄像头列表
Dim i As Integer
camList.Items.Clear
camList1.Items.Clear
For i=0 To _CamList.Count - 1
    camList.Items.Add(_CamList(i))
    camList1.Items.Add(_CamList(i))
Next
\'默认选中第一个摄像头
If _CamList.Count > 1 And _CamIndex < 1
    _CamIndex = 1
End If
camList.SelectedIndex = _CamIndex
camList1.SelectedIndex = _CamIndex
\'激活预览
If _CamList.Count > 0
_CamIndex = 1
    Functions.Execute("SetCamView",_CamIndex,e.Form.Controls("CamView"))
Functions.Execute("SetCamView",_CamIndex,e.Form.Controls("CamView1"))

Else
    MessageBox.Show("未检测摄像头,请先连接摄像头!","警告")
    e.Form.Close()
End If

--  作者:有点甜
--  发布时间:2019/5/28 9:23:00
--  

测试了一下,支持多摄像头的。SetCamView代码改一下,如

 

\'在指定控件上预览摄像头视频
\'参数0 : 摄像头序号
\'参数1 : 视频预览控件, 建议使用Panel,PictureBox第一次调用不显示图像

Dim ViewCamIndex As String = Args(0)
Dim ViewControl As WinForm.Control = Args(1)
Dim cam As DCap.Filter
If _Cap IsNot Nothing
    _Cap.PreviewWindow = Nothing
End If
If ViewCamIndex > 0 And ViewCamIndex < _CamList.Count Then
    Functions.Execute("GetCams")
    cam = _Cams.VideoInputDevices(ViewCamIndex-1)
    Try
        Dim Cap = New DCap.Capture(cam,Nothing)
        Cap.PreviewWindow = ViewControl.basecontrol
        Cap.GrapImg()

        vars(ViewCamIndex) = cap
    Catch ex As Exception
        MessageBox.Show("视频预览出现错误." & ex.Message,"提示",MessageBoxButtons.OK)
    End Try
End If

 

对应的,你其余代码也要修改(涉及到_cap变量的,要改成 vars(0)、vars(1) 才行。细节自己调整


--  作者:yjm789000
--  发布时间:2019/5/28 22:17:00
--  回复:(yjm789000)[求助]在一个窗口调取2个摄像头,...

图片点击可在新窗口打开查看此主题相关图片如下:33.jpg
图片点击可在新窗口打开查看

改了代码后,后面获取到的是黑屏

--  作者:有点蓝
--  发布时间:2019/5/28 22:42:00
--  
使用其他软件能够同时开2个吗。如果不能就是硬件冲突。

摄像头必须插到电脑不同的usb口,不能接到同一个扩展口

--  作者:有点甜
--  发布时间:2019/5/29 9:50:00
--  

 

具体实例发上来测试。我测试没问题。

 

 


--  作者:yjm789000
--  发布时间:2019/5/29 21:57:00
--  回复:(有点甜) 具体实例发上来测试。我测试...
甜老师,我换成两个扩展口后,可以显示了。但是又出现新问题了。我第一次进去,是没问题的。但是关闭窗口后,第二次再进去,就全部都是黑屏了,完全用不了

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:点位软件.zip

是里面的“增加点位” 窗口里


--  作者:有点甜
--  发布时间:2019/5/29 23:11:00
--  

beforeClose事件把对象注销啊

 

vars("1").PreviewWindow = Nothing
vars("1").Dispose()
vars("1") = Nothing
vars("2").PreviewWindow = Nothing
vars("2").Dispose()
vars("2") = Nothing