2

ウェブカメラから 1 秒間隔でスナップショットを取得する Delphi アプリがあります。開発用 PC では問題なく動作しますが、ターゲット プラットフォーム (組み込みの Windows 7 を別のカメラで実行している Atom ベースのタブレット PC) では、非常に不安定です。再起動後、アプリを初めて実行すると、通常はウェブカメラを初期化して通常のフレームを取得できますが、次回アプリを実行すると、ウェブカメラ ドライバーを見つけることができず、ダイアログが表示されます。おそらく見つからないため、ビデオソースを指定するように求められます..

私の質問: これは、ビデオ キャプチャ API 呼び出しが正しい順序で行われていないことなどに関連していると確信していますが、何が起こっているのかを比較できるように、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
4

1 に答える 1

0

最初のステップはずっと簡単です。同じドライバーを持っていることを完全に確認しましたか?

また、検出 - 取得開始のシーケンスが、この遅いシステムには速すぎる可能性もあります。間に数秒の睡眠を導入すると効果があるかどうかを確認する

于 2010-11-30T07:58:44.197 に答える