急!求大神指导。基于VFW 的USB摄像头视频捕获,视频压缩句柄为空
下面是压缩代码。经断点调试发现m_Com.hic为空,求指导- -
void CVideoDlg::InitCompress()
{
capGetVideoFormat(m_hMyVideo,&m_InInfo,sizeof(BITMAPINFO));
capGetVideoFormat(m_hMyVideo,&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 = 0;
// m_Com.fccType =0;
// m_Com.lFrame = 0;
// m_Com.lKey = 0; // 关键帧的速率
// m_Com.lKeyCount = 0;
// m_Com.lDataRate = 0;
// m_Com.lpbiOut = 0;
// m_Com.hic = 0;
// m_Com.cbState = 0;
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("压缩失败");
}
}