Диалоговое окно захвата видео появляется во встроенном приложении Delphi для веб-камеры. - PullRequest
2 голосов
/ 30 ноября 2010

У меня есть приложение delphi, которое делает снимки с веб-камеры с интервалом в 1 секунду. На ПК для разработки все идет хорошо, но на целевой платформе (планшетный ПК на базе 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 голосов
/ 30 ноября 2010

Первый шаг намного проще: вы абсолютно уверены, что используете тот же драйвер?

Может также случиться так, что последовательность обнаружения - начало сбора слишком быстрая для этой медленной системы.Посмотрите, поможет ли введение нескольких секунд сна вместо

...