AVIFILEINFOA 结构 (vfw.h)

AVIFILEINFO 结构包含整个 AVI 文件的全局信息。

语法

typedef struct _AVIFILEINFOA {
  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];
} AVIFILEINFOA, *LPAVIFILEINFOA;

成员

dwMaxBytesPerSec

AVI 文件的最大数据速率的近似值。

dwFlags

零个或多个标志的按位 。 定义了以下标志:

名字 描述
AVIFILEINFO_HASINDEX
AVI 文件在文件末尾具有索引。 为了获得良好的性能,所有 AVI 文件都应包含索引。
AVIFILEINFO_MUSTUSEINDEX
文件索引包含文件中区块的播放顺序。 播放数据时,请使用索引而不是区块的物理排序。 这可用于创建用于编辑的帧列表。
AVIFILEINFO_ISINTERLEAVED
AVI 文件交错。
AVIFILEINFO_WASCAPTUREFILE
AVI 文件是一个专门分配的文件,用于捕获实时视频。 应用程序应在写入具有此标志集的文件之前警告用户,因为用户可能已对此文件进行碎片整理。
AVIFILEINFO_COPYRIGHTED
AVI 文件包含版权数据和软件。 使用此标志时,软件不应允许复制数据。

dwCaps

功能标志。 定义了以下标志:

名字 描述
AVIFILECAPS_CANREAD
应用程序可以使用读取权限打开 AVI 文件。
AVIFILECAPS_CANWRITE
应用程序可以使用写入权限打开 AVI 文件。
AVIFILECAPS_ALLKEYFRAMES
AVI 文件中的每个帧都是关键帧。
AVIFILECAPS_NOCOMPRESSION
AVI 文件不使用压缩方法。

dwStreams

文件中的流数。 例如,包含音频和视频的文件至少有两个流。

dwSuggestedBufferSize

用于读取文件的建议缓冲区大小(以字节为单位)。 通常,此大小应足够大,足以包含文件中的最大区块。 对于交错的文件,此大小应足够大,可以读取整个记录,而不仅仅是一个区块。

如果缓冲区大小太小或设置为零,则播放软件在播放期间必须重新分配内存,从而减少性能。

dwWidth

AVI 文件的宽度(以像素为单位)。

dwHeight

AVI 文件的高度(以像素为单位)。

dwScale

适用于整个文件的时间刻度。 将 dwRate 除以 dwScale 可提供每秒样本数。

任何流都可以定义自己的时间刻度来取代文件时间刻度。

dwRate

采用整数格式的速率。 若要获取每秒样本中的速率,请用 dwScale中的值除以此值。

dwLength

AVI 文件的长度。 这些单位由 dwRate 定义,dwScale

dwEditCount

已添加到 AVI 文件或删除的流数。

szFileType[64]

以 Null 结尾的字符串,其中包含文件类型的描述性信息。

言论

注意

vfw.h 标头将 AVIFILEINFO 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
标头 vfw.h

另请参阅

AVIFile 函数和宏

AVIFile 结构