针对一个avi文件,获取每一帧bmp。采用vfw。
获取bmp,并保存为位图了。
现在测试系统自带的AVI文件,都能顺利获得。
但是测试自己通过DV拍下来的AVI(无压缩的)文件时,
发现在打开avi流时,无法获取流指针。
是我的AVI文件格式的问题吗!?~
请各位达人给点意见。部分代码如下:AVIFileInit(); //初始化avi
PAVIFILE avi;//声明avi文件句柄int res = AVIFileOpen(&avi, name, OF_READ, NULL);//打开avi文件并判断;name是文件名及路径
if (res != AVIERR_OK)
{
AfxMessageBox("error   #1");
if(avi != NULL)
AVIFileRelease(avi);
return FALSE;
}PAVISTREAM pStream;//声明avi流
res = AVIFileGetStream(avi, &pStream, streamtypeVIDEO, 0);//打开avi流并判断
if (res != AVIERR_OK)
{
AfxMessageBox("error #2");
if (pStream != NULL)
AVIStreamRelease(pStream);
AVIFileExit();
return FALSE;
}

解决方案 »

  1.   

    楼主看看你的DV拍下的AVI文件在电脑上是否正常播放,如果能正常播放的话,估计是你的程序上出问题,建议你看看CamStudio的代码,网上都有,我也正在研究。
      

  2.   

    DV拍下的AVI为无压缩的AVI格式,即便是低版本的MEDIA PLAYER也能播放
    以上程序在解析系统自带的哪些AVI都能正常运行,
    但是自拍AVI却不能运行!~有什么好的解决方法没有?!~