يستمر مربع حوار التقاط الفيديو في ظهوره مع تطبيق Delphi المدمج على الكمبيوتر الشخصي
-
29-09-2019 - |
سؤال
لدي تطبيق Delphi يأخذ لقطات من كاميرا ويب على فترات 1 ثانية. على الكمبيوتر الشخصي ، فإنه يعمل بشكل جيد ، ولكن على النظام الأساسي المستهدف (الكمبيوتر اللوحي المستند إلى الذرة الذي يعمل على تشغيل Windows 7 المدمج مع كاميرا مختلفة) ، فهو قشور للغاية. بعد إعادة التشغيل وفي المرة الأولى التي يتم فيها تشغيل التطبيق ، يتمكن عادة من تهيئة كاميرا الويب الخاصة وتحصل على إطارات منتظمة منها ، ولكن في المرة القادمة التي يتم فيها تشغيل التطبيق ، يفشل في تحديد موقع برنامج تشغيل كاميرا الويب ، ويظهر أيضًا حوارًا أطلب مني تحديد مصدر الفيديو ، على الأرجح لأنه لا يمكن العثور على واحدة ..
سؤالي: أنا متأكد من أن هذا مرتبط بمكالمات API لالتقاط الفيديو لا يكون في الترتيب الصحيح أو شيء من هذا القبيل ، ولكن هل هناك أداة (مثل Wireshark) ستمكنني من استنشاق مكالمات واجهة برمجة التطبيقات ، حتى أتمكن من مقارنة ما يحدث على نظام 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
المحلول
الخطوة الأولى أسهل كثيرًا: هل تأكدت تمامًا من أن لديك نفس السائق؟
قد يكون أيضًا أن تسلسل عملية الاستحواذ على هذا النظام البطيء. معرفة ما إذا كان تقديم بضعة ثوان ينام بين الفترات يساعد