線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1019
推到 Plurk!
推到 Facebook!

Webcam 與 Joystick 同時使用問題

尚未結案
g921002
一般會員


發表:2
回覆:0
積分:0
註冊:2005-09-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-10-16 22:56:19 IP:118.232.xxx.xxx 訂閱
最近把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;
}
}


系統時間:2024-04-25 15:48:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!