当前位置: 代码迷 >> 综合 >> 读取avi文件信息的一个例子
  详细解决方案

读取avi文件信息的一个例子

热度:83   发布时间:2024-02-08 17:26:53.0


//读取avi文件信息的一个例子
//20200809 Xp vc6 调试通过
//

//#include <Windows.h>  
#include <STRING> 
#include <afx.h>

#include <stdio.h> 
#include <Vfw.h>
#pragma comment(lib, "vfw32")


void AVItoBmp(CString strAVIFileName, CString strBmpDir);


void main()
{
printf("abab\n");
AVItoBmp("b.avi","");

}

void AVItoBmp(CString strAVIFileName, CString strBmpDir)
{
// TODO: 在此添加控件通知处理程序代码
AVIFileInit();

  PAVIFILE avi;
int res=AVIFileOpen(&avi, strAVIFileName, OF_READ, NULL);

AVIFILEINFO afiAviFileInfo;

  AVIFileInfo(avi, &afiAviFileInfo, sizeof(AVIFILEINFO));
DWORD dwWidth = afiAviFileInfo.dwWidth;
DWORD dwHeight = afiAviFileInfo.dwHeight;

printf(" Width: %d\n Height: %d\n",dwWidth,dwHeight);

DWORD dwStreams = afiAviFileInfo.dwStreams;
printf("Streams= %d\n",dwStreams);

  DWORD dwMaxBytesPerSec = afiAviFileInfo.dwMaxBytesPerSec;
printf("dwMaxBytesPerSec= %d\n",dwMaxBytesPerSec);

  DWORD dwScale = afiAviFileInfo.dwScale;
printf("dwScale= %d\n",dwScale);

DWORD dwRate = afiAviFileInfo.dwRate;
printf("dwRate= %d\n",dwRate);

DWORD dwLength = afiAviFileInfo.dwLength;
printf("dwLength= %d\n",dwLength);

  int n = GetLastError();
if (res!=AVIERR_OK)
{
//an error occures
if (avi!=NULL)
AVIFileRelease(avi);
return ;
}

  AVIFileExit();
}

  相关解决方案