我有通過網絡攝像頭拍照的源代碼,但我需要知道是否有網絡攝像頭連接到PC。如果沒有攝像頭,程序將不會調用拍照功能。如果有必要,我需要知道在這種情況下我必須使用哪個窗口的Api。如何檢測是否有網絡攝像頭連接到PC?
語言:使用Windows Apis的Visual Basic 6。
我有通過網絡攝像頭拍照的源代碼,但我需要知道是否有網絡攝像頭連接到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