Webcam 與 Joystick 同時使用問題 |
尚未結案
|
g921002
一般會員 發表:2 回覆:0 積分:0 註冊:2005-09-17 發送簡訊給我 |
最近把Joystick的程式碼納進來。做法是使用#include <mmsystem.h>的joySetCapture來取得搖桿資訊
以及建立 void __fastcall OnJoyUpdate(TMessage &Message); void __fastcall OnJoyMove(TMessage &Message); BEGIN_MESSAGE_MAP MESSAGE_HANDLER(MM_JOY1BUTTONDOWN,TMessage,OnJoyUpdate) MESSAGE_HANDLER(MM_JOY1BUTTONUP,TMessage,OnJoyUpdate) MESSAGE_HANDLER(MM_JOY1MOVE,TMessage,OnJoyMove) 捕捉搖桿訊息 單獨使用是沒問題,不過一但起動WEBCAM時,就完全抓不到MM_JOY1系列的訊息了。 再站上爬文也找不到相關資訊,似乎用BCB DIRECTX的解決方案較多。 不知是否有先進知道解決方案? WEBCAM程式碼也很簡單,基本上就是使用站上的範例 void __fastcall TForm1::BtCam1Click(TObject *Sender) { if(!cam1_status) { hCapWnd = capCreateCaptureWindow("Capture Window", WS_CHILD | WS_VISIBLE, 0, 0, 640, 480,Panel1->Handle, 0 ); capDriverConnect(hCapWnd, 0 ); capPreview(hCapWnd,true); capPreviewRate(hCapWnd, 1000/10); capPreviewScale(hCapWnd,true); capOverlay(hCapWnd, true); BITMAPINFO bmi; capGetVideoFormat(hCapWnd, &bmi, sizeof(BITMAPINFO)); SetWindowPos(hCapWnd, 0, 0, 0, bmi.bmiHeader.biWidth,bmi.bmiHeader.biHeight,0); Form1->Panel1->ClientHeight=bmi.bmiHeader.biHeight; Form1->Panel1->ClientWidth=bmi.bmiHeader.biWidth; //capSetCallbackOnFrame (hCapWnd, &FrameCallBack); BtCam1->Caption = "Close (1)"; cam1_status = 1; } else { capDriverDisconnect(hCapWnd); BtCam1->Caption = "Open (1)"; cam1_status = 0; } } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |