請教各位先進前輩 |
答題得分者是:cmf
|
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
目前小弟在寫一個由擷取卡抓取畫面的程式用BCB 5
用的卡是Mutech MV500 的卡
遇到的問題是...
擷取卡的Demo 程式可以看到Video 劃面但是我用vfw 寫的確看到黑色畫面...看不到影像 下面是程式碼...
VideoWnd = capCreateCaptureWindow("VideoWindow",WS_CHILD | WS_VISIBLE,0,0,640,480
,Panel2->Handle,(int) 0);
capDriverConnect (VideoWnd, 0);
capDriverGetCaps (VideoWnd, sizeof(CAPDRIVERCAPS),1);
capOverlay(VideoWnd,true);
capPreview(VideoWnd,true);
capPreviewScale(VideoWnd,true);
capPreviewRate(VideoWnd,1000/30); 請問這樣寫是否有問題呢?我參考了貴站的文章寫的
請大大幫我解決謝謝!!
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
VideoWnd = capCreateCaptureWindow("VideoWindow",WS_CHILD | WS_VISIBLE,0,0,640,480
,Panel2->Handle,5001); if (capDriverConnect (VideoWnd, 0) !=0 )
{
capDriverGetCaps (VideoWnd,psCaps,sizeof(CAPDRIVERCAPS));
capPreviewRate(VideoWnd,1000/30);
capPreview(VideoWnd,true);
capPreviewScale(VideoWnd,true);
} 發表人 - cmf 於 2003/02/13 12:23:57
------
︿︿ |
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
cmf 大大
那個demo 是執行檔...沒有source code
所以無法列出...
據原廠回覆內容如下
There is a video capture driver which is installed as part of the distribution software. We also have a new driver for DirectShow which is the descendent of VfW
但是我有抓網路上其它人share 出來的VFW 的程式..一樣不行..
是否有其它的問題? 電腦是WIN2000 DIRECTX 8.1 Mutech mv500
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
------
︿︿ |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
wzl: 我看範例之後 發現
他是使用 MV5app95.dll 所以 請將 Module1.bas 修改成 Module1.h 在你程式中
#include "Module1.h" int SDKVersion = MV5InquireSDKVersion();
Ret_Err (MV5Open(SDKVersion));
Ret_Err (MV5LoadDefault(MV5_VideoStandard_NTSC));
Ret_Err (MV5SetVideoChannel(MV5_Channel_Blue)); result = MTDDraw_Open(hWnd, bvar); If (result = MV5_OK)
{
m_ScreenSize = MTDDraw_GetScreenSize();
m_nScreenMode = MTDDraw_GetScreenMode();
switch( m_nScreenMode)
{
MV5_8bit_Mode:
{
MsgBox ("This program does not support 256 color or lower!");
break;
}
MV5_RGB888_Mode:
MV5_RGB888x_Mode:
MV5_RGB555_Mode:
MV5_RGB565_Mode:
{
}
default
{
MsgBox ("This program does not support the current screen mode!");
}
};
If (MTDDraw_IsOverlaySupported())
{
result = MTDDraw_CreateOverlayYUV(1, CamCurrent.dx, CamCurrent.dy, 0, m_nSurfaceIndex)
If (result != MV5_OK )
{
MsgBox ("Can't open overlay surface!");
}
else
{
m_lpOverlaySurfacePtr = MTDDraw_GetSurfaceMemoryPtr(m_nSurfaceIndex, m_nSurfaceStride);
dwColorKey = 16711935;
MTDDraw_SetDestColorKey (dwColorKey);
};
)
Else
{
MsgBox ("No overlay surface.");
}
}
Else
{
MsgBox ("No DirectDraw!");
}; 發表人 - cmf 於 2003/02/13 15:32:45
------
︿︿ |
wzl
一般會員 發表:14 回覆:31 積分:9 註冊:2003-02-12 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |