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

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

名称 说明
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 文件的长度。 单位由 dwRatedwScale 定义

dwEditCount

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

szFileType[64]

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

注解

注意

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

要求

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

另请参阅

AVIFile 函数和宏

AVIFile 结构