视频捕获对话框不断弹出嵌入式PC网络摄像头delphi应用程序

时间:2010-11-30 07:50:09

标签: delphi api webcam video-capture windows-embedded

我有一个delphi应用程序,以1秒的间隔从网络摄像头拍摄快照。在开发PC上它很好,但在目标平台(基于Atom的平板电脑运行带有不同摄像头的嵌入式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

1 个答案:

答案 0 :(得分:0)

第一步更容易:你是否确定你拥有相同的驱动程序?

对于这个慢速系统,检测 - 开始采集的序列可能太快了。看看介入几秒钟睡眠中间是否有帮助