日期:2014-05-18  浏览次数:20774 次

再次打开摄像头会出现选择摄像头源的问题??
第一次打开摄像头能正常工作.
关闭程序,再次打程序,会出现一个选择摄像头源的对话框.
选择后无图形, 表示摄像头连接失败..


据网上资料看, 是第一次使用摄像头后没有关闭的原因.
但是我每次都发送了关闭消息的.不知道是什么原因.

关闭指令:

VB.NET code


'常量;
       Private Const WM_USER = &H400
        Private Const WS_CHILD = &H40000000
        Private Const WS_VISIBLE = &H10000000
        Private Const SWP_NOMOVE = &H2
        Private Const SWP_NOZORDER = &H4

        Private Const WM_CAP_START = &H400
        Private Const WM_CAP_STOP = WM_CAP_START + 68
        Private Const WM_CAP_DRIVER_CONNECT = WM_USER + 10
        Private Const WM_CAP_DRIVER_DISCONNECT = WM_USER + 11


' 关闭指令;
SendMessage(m_deviceid, WM_CAP_DRIVER_DISCONNECT, 0, 0)





请问是不是常量定义错误??
或者其他原因?

------解决方案--------------------
WM_CAP_STOP 这个用了?
------解决方案--------------------
摄像头是独占的,你第一次使用后在我的电脑里打开看看,如果打不开就是正在被使用。
只要你程序的进程结束了摄像头资源就应该被释放了,你看看任务管理器里有没有进程。
------解决方案--------------------
SendMessage(m_deviceid, WM_CAP_DRIVER_DISCONNECT, 0, 0)
这个是断开了连接。不是关闭吧。
dshow做这个东东比较简单一些。
dshow是.net的一个类库。功能可以满足最基本的使用。
------解决方案--------------------
我也遇到了同样的问题,关注