如何检测是否有网络摄像头连接到PC?
我有通过网络摄像头拍照的源代码,但我需要知道是否有网络摄像头连接到PC。如果没有摄像头,程序将不会调用拍照功能。如果有必要,我需要知道在这种情况下我必须使用哪个窗口的Api。如何检测是否有网络摄像头连接到PC?
语言:使用Windows Apis的Visual Basic 6。
WIA的问题是并非所有设备都兼容。但我自己找到了解决方案: SendMessage和capCreateCaptureWindowA一起工作。如果没有摄像头,SendMessage返回一个“0”。这是代码:
mCapHwnd = capCreateCaptureWindowA("WebCap", 0, 0, 0, m_Width, m_Height, Me.hwnd, 0)
DoEvents
If SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0) <> 0 Then
Call SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0)
DoEvents
Call SendMessage(mCapHwnd, WM_CAP_SET_PREVIEW, 0, 0)
Else
MsgBox "No Camera Detected"
End If
我希望有人能找到这个有用的:)
我想有一个Flash应用程序,如果你在网站上工作。否则,您可能需要查看Windows图像采集API。
不,它是一个桌面应用程序。我已经看到了闪存的代码,但我需要它的VB6。不是整个算法,只是可以检测摄像头的Api。 – 2009-10-19 15:11:11
然后看看WIA api。 – Jeff 2009-10-19 15:33:24
什么是“对拍照功能的”使用拍照?它使用哪个API? – 2009-10-19 15:08:59
我使用了这两个Apis:SendMessage和capCreateCaptureWindowA。对于“拍照”,我的意思是从网络摄像头捕捉帧。 – 2009-10-19 15:28:26