Диалоговое окно снятия видео продолжает всплыть с встроенным приложением для веб -камеры ПК Delphi
-
29-09-2019 - |
Вопрос
У меня есть приложение Delphi, которое делает снимки с веб -камеры с интервалом в 1 секунды. На ПК Development он идет нормально, но на целевой платформе (планшетный ПК на основе атома, работающий с встроенными Windows 7 с другой камерой), она чрезвычайно тревожна. После перезагрузки и в первый раз, когда приложение будет запущено, оно обычно удается инициализировать веб -камеру OK и получить от него регулярные кадры, но в следующий раз, когда приложение будет запущено, оно не может найти драйвер веб -камеры, а также всплывает на диалог попросив меня указать источник видео, предположительно, потому что он не может его найти ..
Мой вопрос: я уверен, что это связано с вызовами 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
Решение
Первый шаг намного проще: у вас был абсолютно уверен, что у вас такой же драйвер?
Также может случиться так, что последовательность обнаружения - начало приобретения слишком быстрой для этой медленной системы. Посмотрите, поможет ли представление нескольких секундов между промежуточным