项目组最近需要我开发写一个播放器程序,到今天这个工作基本上完成了,在开发过程中,需要让播放器支持AVI视频文件。对于AVI文件的操作之前接触较少,经过这些天的摸索,终于有了一些自己的看法。
AVI(Audio Video Interleaved)是将语音和影像同步组合在一起的文件格式。它对视频文件采用了一种有损压缩方式,但压缩比较高,尽管画面质量不是太好,但其应用范围仍然非常广泛。
///////////////////////////////////////结构说明//////////////////////////////////
PAVIFILE pfile;
AVIFILEINFO *pfi; // avi信息
AVISTREAMINFO psi; // 包含流信息的结构体的指针
PAVISTREAM pavi; // avi文件流句柄
PGETFRAME pFrame ; // GetFrame对象的指针
BITMAPINFOHEADER bmih; // 头信息 For DrawDibDraw
////////////////////////////////////////////////////////////////////////////////////
对于AVI视频文件的播放,主要有以下的步骤:
1:
调用AVIFileInit(),初始化AVI文件库
2:
CoInitialize(NULL);
// 根据lpszPathName以只读的方式打开AVI文件
if (0 != AVIFileOpen(&pfile,lpszPathName,OF_READ,NULL))