视频捕获对话框不断使用嵌入式PC网络摄像头Delphi应用程序弹出
-
29-09-2019 - |
题
我有一个Delphi应用程序,该应用以1秒的间隔从网络摄像头中获取快照。在开发PC上,它可以很好,但是在目标平台(基于原子的平板电脑PC运行带有不同摄像机的嵌入式Windows 7))非常片状。重新启动并首次运行应用程序后,它通常设法初始化网络摄像头确定并从中获得常规帧,但是下次运行应用程序时,它无法找到网络摄像头驱动程序,并且还弹出了一个对话框。要求我指定视频源,大概是因为它找不到。
我的问题:我敢肯定这与视频捕获API调用不正确有关,但是是否有工具(例如Wireshark)可以使我嗅探API调用,因此我可以比较正在发生的事情在嵌入式Windows 7系统上,可以使用XP开发系统?
我正在使用以下电话/消息:
初始化:
capCreateCaptureWindow
WM_CAP_DRIVER_CONNECT
WM_CAP_SET_PREVIEW (false)
WM_CAP_SET_VIDEOFORMAT (as camera after boot is in format I can't handle)
WM_CAP_GET_VIDEOFORMAT
在1秒计时器:
WM_CAP_SET_CALLBACK_FRAME
WM_CAP_GRAB_FRAME_NOSTOP
在回调:
WM_CAP_SET_CALLBACK_FRAME (nil)
完成:
WM_CAP_ABORT
WM_CAP_STOP
WM_CAP_DRIVER_DISCONNECT
解决方案
第一步要容易得多:您是否绝对确定自己有相同的驱动程序?
对于此缓慢的系统而言,检测的顺序可能太快了。看看在介于两者之间引入几秒钟的睡眠是否有帮助
不隶属于 StackOverflow