AVIStreamWrite函数没有执行我所设置的次数,不知道错在那里!~~~~(SOS)
rt:
我的这个函数是:
BOOL CAviFile::AddFrame(LPBYTE lpImgData, LONG lSize, DWORD dwFlags,LONG FrameNum)
{
//添加帧,第一帧确保为关键帧
if((dwFrames!=0)||(dwFlags==AVIIF_KEYFRAME))
{
if(dwFrames==0)
{
MainDlg->m_bStartRecord = TRUE;
}
long err = 0;
err = AVIStreamWrite(psVideo,FrameNum,1,lpImgData,lSize,dwFlags,NULL,NULL);
if(err)
{
MainDlg->bbbbb++;
MainDlg->String.Format("bbbb: %d",MainDlg->bbbbb);
SetWindowText(MainDlg->m_hWnd,MainDlg->String);
return false;
}else{
dwFrames++;
}
}
return TRUE;
}
问题:假如AddFrame()函数执行了200次,但是dwFrames的累加值小于200,就是AVIStreamWrite()有写文件流不成功的,我检查了所传进来的值是准确的,因为我在主函数中用的是同样的值来画图,画图成功,次数也是200。我的错误出在那里啊? 救救我吧!~