Win32 API获取AVI视频文件信息

来源:互联网 发布:上海交大网络学校 编辑:程序博客网 时间:2024/06/14 10:38

参考:http://blog.sina.com.cn/s/blog_149e9d2ec0102x0fl.html

之前为了使用win32 API获取AVI视频文件的信息,比如avi视频分辨率,尺寸,速率等。

typedef struct { 
    DWORD dwMaxBytesPerSec; 
    DWORD dwFlags; 
    DWORD dwCaps; 
    DWORD dwStreams; 
    DWORD dwSuggestedBufferSize; 
    DWORD dwWidth; 
    DWORD dwHeight; 
    DWORD dwScale; 
    DWORD dwRate; 
    DWORD dwLength; 
    DWORD dwEditCount; 
    char  szFileType[64]; 
} AVIFILEINFO; 
这是一个结构体。

那么我们获取需要一个头文件和一个静态库。
#include “vfw.h
#pragma comment(lib, "vfw32.lib")

下面我们就写出对应的代码片段:
#include “windows.h” //由于新浪博客的原因,不能写成<>括号的形式,不能使用“”,大家在使用代码时可以换成<>,以下类同
#include “mmsystem.h
#include “stdio.h
#include “tchar.h
#include “vfw.h
#pragma comment(lib, "vfw32.lib")
int _tmain(void)
{
PAVIFILE pafAviFile = NULL;
AVIFILEINFO afiAviFileInfo;

AVIFileInit();
AVIFileOpenA(&pafAviFile, “Video.avi”, OF_READ | OF_SHARE_DENY_NONE, NULL);//前提是在你对应工程目录下存放对应的Video.avi文件。
AVIFileInfo(pafAviFile, &afiAviFileInfo, sizeof(AVIFILEINFO));
DWORD dwWidth = afiAviFileInfo.dwWidth;
DWORD dwHeight = afiAviFileInfo.dwHeight;
AVIFileExit();

printf("Width = %d, Height = %d。\n", dwWidth, dwHeight); 
return 0;
}
原创粉丝点击