[百分相送]怎么样设置视频采集卡的视频源啊??? 因为是用WM Encoder写的,所以不能用VFW的VideoSourceDlg那个东东。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是什么卡,很多卡的开发包都允许你设置这些的。如果不用VFW的那个DLG,你至少应该知道如何与卡的驱动程序通信了。SendDriverMessage或IAMVfwCaptureDialogs::SendDriverMessage 能给个SendDriverMessage或IAMVfwCaptureDialogs::SendDriverMessage的小例子吗?视频采集卡的很多东东应该是通用的吧。我的卡是 Bose BS-621 我用的是Ospery卡,HDRVR hDrvr;CONTROLS oCtls;SRCCTL oSrcCtl;BOOL bOk;O100_OPEN oOpen;oOpen.dwSizeof = sizeof(oOpen);oOpen.dwSig = MMAC_INPUT_SIG;oOpen.dwFlags = CTL_CHANNEL | CTL_LOCK;oOpen.dwDevice =m_nID;hDrvr = OpenDriver(theApp.DriverName, NULL, (LPARAM)&oOpen);if (hDrvr == NULL){SaveMsg("OpenDriver error!");return FALSE;}CString szItem; szItem.Format("VideoFormat%d",m_nID+1);oSrcCtl.dwCmd = VIDEOFMT;oSrcCtl.dwData = 0;oSrcCtl.dwVFmt =theApp.GetProfileInt("OspreyParam",szItem,1)==1 ? SRC_NTSC :SRC_PAL;oSrcCtl.pCtlsGet = NULL;oSrcCtl.pCtlsSet = NULL;bOk = static_cast<BOOL>(SendDriverMessage(hDrvr,MMAC_o100_SRC_CONTROL,(LONG)&oSrcCtl,sizeof(SRCCTL)));szItem.Format("VideoPort%d",m_nID+1);oSrcCtl.dwCmd = theApp.GetProfileInt("OspreyParam",szItem,1)==1 ? COMPOSITE :SVIDEO;oSrcCtl.dwData = 1;oSrcCtl.dwVFmt = 0;oSrcCtl.pCtlsGet = &oCtls;oSrcCtl.pCtlsSet = NULL; bOk = static_cast<BOOL>(SendDriverMessage(hDrvr,MMAC_o100_SRC_CONTROL,(LONG)&oSrcCtl,sizeof(SRCCTL)));oCtls.cBrightness = (char)(RecParam.GetBrightness() - 128);oCtls.cHue = (char)(RecParam.GetHue() - 128);oCtls.wContrast =(WORD) RecParam.GetContrast();oCtls.wSatU = (WORD)RecParam.GetSaturation();oCtls.wSatV = (WORD)RecParam.GetSaturation() * 0xB4 / 0xFE;// Set the current video input to the new control setting: oSrcCtl.dwCmd = VIDEOCTLS;oSrcCtl.dwVFmt = 0;oSrcCtl.pCtlsGet = NULL;oSrcCtl.pCtlsSet = &oCtls;bOk = static_cast<BOOL>(SendDriverMessage(hDrvr,MMAC_o100_SRC_CONTROL,(LONG)&oSrcCtl,sizeof(SRCCTL)));CloseDriver(hDrvr, 0, CTL_SAVE);对于你的卡SendDriverMessage应该传什么参数,我不知道。 像Windows Media Encoder那个,它在选中视频采集卡后,点配置,会弹出属性页是一个选择视频源的,再点上面的属性按钮才会弹出属性,那个是怎么做的呢? 响应一个按钮在编辑框显示数字问题 date time picker时间写如数据库的问题 请做过视频聊天(视频压缩)的大侠帮忙! 窗体外面的WM_LBUTTONUP怎么得到 ImageList.Create 一个程序中同时做两件事?? 知道这两种ADO连接Sqlserver 连接字符串的区别码? 如何利用GetModuleFileName得到另外一个应用程序的执行文件名? DLL调用GDI+里的Image::FromStream,失败! Windows下的扫雷游戏的位图资源如何使用? 高手快来救火, 如何得到SQL SERVER所在服务器的IP EnumWindow的问题 ?大侠帮我
我的卡是 Bose BS-621
HDRVR hDrvr;
CONTROLS oCtls;
SRCCTL oSrcCtl;
BOOL bOk;
O100_OPEN oOpen;
oOpen.dwSizeof = sizeof(oOpen);
oOpen.dwSig = MMAC_INPUT_SIG;
oOpen.dwFlags = CTL_CHANNEL | CTL_LOCK;
oOpen.dwDevice =m_nID;
hDrvr = OpenDriver(theApp.DriverName, NULL, (LPARAM)&oOpen);
if (hDrvr == NULL){SaveMsg("OpenDriver error!");return FALSE;}
CString szItem; szItem.Format("VideoFormat%d",m_nID+1);
oSrcCtl.dwCmd = VIDEOFMT;
oSrcCtl.dwData = 0;
oSrcCtl.dwVFmt =theApp.GetProfileInt("OspreyParam",szItem,1)==1 ? SRC_NTSC :SRC_PAL;
oSrcCtl.pCtlsGet = NULL;
oSrcCtl.pCtlsSet = NULL;
bOk = static_cast<BOOL>(SendDriverMessage(hDrvr,MMAC_o100_SRC_CONTROL,(LONG)&oSrcCtl,sizeof(SRCCTL)));szItem.Format("VideoPort%d",m_nID+1);
oSrcCtl.dwCmd = theApp.GetProfileInt("OspreyParam",szItem,1)==1 ? COMPOSITE :SVIDEO;
oSrcCtl.dwData = 1;
oSrcCtl.dwVFmt = 0;
oSrcCtl.pCtlsGet = &oCtls;
oSrcCtl.pCtlsSet = NULL; bOk = static_cast<BOOL>(SendDriverMessage(hDrvr,MMAC_o100_SRC_CONTROL,(LONG)&oSrcCtl,sizeof(SRCCTL)));oCtls.cBrightness = (char)(RecParam.GetBrightness() - 128);
oCtls.cHue = (char)(RecParam.GetHue() - 128);
oCtls.wContrast =(WORD) RecParam.GetContrast();
oCtls.wSatU = (WORD)RecParam.GetSaturation();
oCtls.wSatV = (WORD)RecParam.GetSaturation() * 0xB4 / 0xFE;// Set the current video input to the new control setting: oSrcCtl.dwCmd = VIDEOCTLS;
oSrcCtl.dwVFmt = 0;
oSrcCtl.pCtlsGet = NULL;
oSrcCtl.pCtlsSet = &oCtls;
bOk = static_cast<BOOL>(SendDriverMessage(hDrvr,MMAC_o100_SRC_CONTROL,(LONG)&oSrcCtl,sizeof(SRCCTL)));
CloseDriver(hDrvr, 0, CTL_SAVE);对于你的卡SendDriverMessage应该传什么参数,我不知道。