16,472
社区成员
发帖
与我相关
我的任务
分享
capGetVideoFormat(m_hWndVideo,&m_InInfo ,sizeof(BITMAPINFO));
capGetVideoFormat(m_hWndVideo,&m_OutInfo,sizeof(BITMAPINFO));
memset(&m_Com,0,sizeof(COMPVARS));
m_Com.cbSize=sizeof(m_Com);
//利用代码选择压缩器
m_Com.dwFlags=ICMF_COMPVARS_VALID;
m_Com.fccHandler=875967096;//mmioFOURCC('x','v','i','d');
// m_Com.fccHandler = 859189837;
m_Com.fccType=ICTYPE_VIDEO;
m_Com.lFrame=0;
m_Com.fccHandler = mmioFOURCC('m','p','4','2');
// m_Com.fccHandler = mmioFOURCC('d','i','v','x');
m_Com.lKey=15;
m_Com.lKeyCount=0;
m_Com.lDataRate = 300;//780;
m_Com.lQ=10000;
m_Com.lpbiOut=(BITMAPINFO*)&m_OutInfo;
m_Com.hic=ICOpen(ICTYPE_VIDEO,m_Com.fccHandler,ICMODE_COMPRESS|ICMODE_DECOMPRESS);
// m_Com.hic=ICOpen(ICTYPE_VIDEO,mmioFOURCC('x','v','i','d'),ICMODE_COMPRESS);
m_Com.cbState = 9048;
//利用对话框选择压缩器
// ICCompressorChoose(NULL,ICMF_CHOOSE_ALLCOMPRESSORS ,(LPVOID)&m_InInfo,NULL,&m_Com,"选择压缩类型");
//上面这句函数的意思让用户选择压缩器
ICCompressGetFormat(m_Com.hic,&m_InInfo.bmiHeader,&m_OutInfo.bmiHeader);
//开始压缩
int ret = ICCompressBegin(m_Com.hic,(BITMAPINFO*)&m_InInfo,(BITMAPINFO*)&m_OutInfo);
if (ret!=ICERR_OK )
MessageBox("压缩失败");