运行到AVIStreamWrite有问题

boylafong 2013-08-14 02:45:44
void CTestDlg::BMPtoAVI(CString szAVIName, CString strBmpDir)
{
CFileFind finder;
strBmpDir += _T("//*.*");
AVIFileInit();
AVISTREAMINFO strhdr;
PAVIFILE pfile;
PAVISTREAM ps;
int nFrames =0;
HRESULT hr;

BOOL bFind = finder.FindFile(strBmpDir);
while(bFind)
{
bFind = finder.FindNextFile();
if(!finder.IsDots() && !finder.IsDirectory())
{
CString str = finder.GetFilePath();
FILE *fp = fopen(str,"rb");
BITMAPFILEHEADER bmpFileHdr;
BITMAPINFOHEADER bmpInfoHdr;
fseek( fp,0,SEEK_SET);
fread(&bmpFileHdr,sizeof(BITMAPFILEHEADER),1, fp);
fread(&bmpInfoHdr,sizeof(BITMAPINFOHEADER),1, fp);

BYTE *tmp_buf = NULL;
if(nFrames ==0 )
{
AVIFileOpen(&pfile,szAVIName,OF_WRITE | OF_CREATE,NULL);
memset(&strhdr, 0, sizeof(strhdr));
strhdr.fccType = streamtypeVIDEO;// stream type
strhdr.fccHandler = 0;
strhdr.dwScale = 1;
strhdr.dwRate = 15; // 15 fps
strhdr.dwSuggestedBufferSize = bmpInfoHdr.biSizeImage ;
SetRect(&strhdr.rcFrame, 0, 0, bmpInfoHdr.biWidth, bmpInfoHdr.biHeight);

// And create the stream;
hr = AVIFileCreateStream(pfile,&ps,&strhdr);
// hr = AVIStreamSetFormat(ps,nFrames,&bmpInfoHdr,sizeof(bmpInfoHdr));
}
tmp_buf = new BYTE[bmpInfoHdr.biWidth * bmpInfoHdr.biHeight * 3];
fread(tmp_buf, 1, bmpInfoHdr.biWidth * bmpInfoHdr.biHeight * 3, fp);
hr = AVIStreamSetFormat(ps,nFrames,&bmpInfoHdr,sizeof(bmpInfoHdr));
hr = AVIStreamWrite(ps, // stream pointer
nFrames, // time of this frame
1, // number to write
(LPBYTE) tmp_buf,
bmpInfoHdr.biSizeImage , // size of this frame
AVIIF_KEYFRAME, // flags....
NULL,
NULL);

nFrames ++;
fclose(fp);

}
}

AVIStreamClose(ps);

if(pfile != NULL)
AVIFileRelease(pfile);

AVIFileExit();
}


我动态库也有。
问题如下:


我运行了regsvr32 avifil32.dll
提示


...全文
190 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
maernong 2015-12-17
  • 打赏
  • 举报
回复
怎么解决的啊楼主?我也遇到了跟你一样的问题,弄了好几天了,求指教啊
boylafong 2013-08-15
  • 打赏
  • 举报
回复
没人吗, 来个人帮忙看下吧
boylafong 2013-08-15
  • 打赏
  • 举报
回复
引用 7 楼 xietinghmily 的回复:
没一个人回答,分给你吧 = =
  • 打赏
  • 举报
回复
boylafong 2013-08-15
  • 打赏
  • 举报
回复
来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖来人结帖
boylafong 2013-08-15
  • 打赏
  • 举报
回复
引用 4 楼 xiaojshjari 的回复:
问题已经解决来个人给分
这个是我另外一个号,来个人结帖啊
xiaojshjari 2013-08-15
  • 打赏
  • 举报
回复
问题已经解决来个人给分
boylafong 2013-08-14
  • 打赏
  • 举报
回复
来个人帮忙看下吧,现在开始搞这个玩意
boylafong 2013-08-14
  • 打赏
  • 举报
回复
运行到AVIStreamWrite出现上面的错误提示

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧