ビデオキャプチャダイアログは、埋め込まれたPCウェブカメラDelphiアプリでポップアップし続けます

StackOverflow https://stackoverflow.com/questions/4311578

質問

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
役に立ちましたか?

解決

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

また、Detect -START取得のシーケンスは、この遅いシステムには速すぎる可能性があります。数秒間の睡眠を導入するのが役立つかどうかを確認してください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top