AVISTREAMINFOW 结构 (vfw.h)

AVISTREAMINFO 结构包含单个流的信息。

语法

typedef struct _AVISTREAMINFOW {
  DWORD fccType;
  DWORD fccHandler;
  DWORD dwFlags;
  DWORD dwCaps;
  WORD  wPriority;
  WORD  wLanguage;
  DWORD dwScale;
  DWORD dwRate;
  DWORD dwStart;
  DWORD dwLength;
  DWORD dwInitialFrames;
  DWORD dwSuggestedBufferSize;
  DWORD dwQuality;
  DWORD dwSampleSize;
  RECT  rcFrame;
  DWORD dwEditCount;
  DWORD dwFormatChangeCount;
  WCHAR szName[64];
} AVISTREAMINFOW, *LPAVISTREAMINFOW;

成员

fccType

指示流类型的四个字符代码。 已为 AVI 流中常见的数据定义了以下常量:

一直 说明
streamtypeAUDIO
指示音频流。
streamtypeMIDI
指示 MIDI 流。
streamtypeTEXT
指示文本流。
streamtypeVIDEO
指示视频流。

fccHandler

压缩器处理程序的四个字符代码,在保存此视频流 (例如 mmioFOURCC ('M','S','V','C') ) 时对其进行压缩。 此成员不用于音频流。

dwFlags

流的适用标志。 这些标志的高序字中的位特定于流中包含的数据类型。 定义了以下标志:

名称 说明
AVISTREAMINFO_DISABLED
指示在用户显式启用时应呈现此流。
AVISTREAMINFO_FORMATCHANGES
指示此视频流包含调色板更改。 此标志警告播放软件需要对调色板进行动画处理。

dwCaps

功能标志;当前未使用。

wPriority

流的优先级。

wLanguage

流的语言。

dwScale

适用于流的时间刻度。 将 dwRate 除以 dwScale 可提供每秒样本数的播放速率。

对于视频流,此速率应为帧速率。 对于音频流,此速率应对应于 AUDIO 块大小 (WAVEFORMATPCMWAVEFORMAT 结构的 nBlockAlign 成员) ,对于 PCM (Pulse Code Fm,) 音频会降低到采样率。

dwRate

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

dwStart

AVI 文件第一帧的示例编号。 单位由 dwRate 和 dwScale 定义。 通常,这是零,但它可以为不与文件同时启动的流指定延迟时间。

AVI 工具的 1.0 版本不支持非零开始时间。

dwLength

此流的长度。 单位由 dwRatedwScale 定义

dwInitialFrames

音频倾斜。 此成员指定在交错文件中视频帧之前对音频数据的倾斜程度。 通常,这大约为 0.75 秒。

dwSuggestedBufferSize

流的建议缓冲区大小(以字节为单位)。 通常,此成员包含对应于流中最大区块的值。 使用正确的缓冲区大小可提高播放效率。 如果不知道正确的缓冲区大小,请使用零。

dwQuality

流中视频数据的质量指示器。 质量表示为介于 0 和 10,000 之间的数字。 对于压缩数据,这通常表示传递给压缩软件的质量参数的值。 如果设置为 –1,则驱动程序使用默认质量值。

dwSampleSize

单个数据样本的大小(以字节为单位)。 如果此成员的值为零,则样本的大小可能会有所不同,并且每个数据样本 ((如视频帧) )必须位于单独的区块中。 非零值表示可将多个数据样本分组到文件中的单个区块中。

对于视频流,此数字通常为零,但如果所有视频帧的大小都相同,则它可能是非零的。 对于音频流,此数字应与描述音频的 WAVEFORMATWAVEFORMATEX 结构的 nBlockAlign 成员相同。

rcFrame

视频目标矩形的尺寸。 值表示左上角的坐标、高度和矩形的宽度。

dwEditCount

已编辑流的次数。 流处理程序维护此计数。

dwFormatChangeCount

流格式已更改的次数。 流处理程序维护此计数。

szName[64]

包含流说明的以 Null 结尾的字符串。

注解

注意

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

要求

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

另请参阅

AVIFile 函数和宏

AVIFile 结构

PCMWAVEFORMAT

WAVEFORMAT

WAVEFORMATEX

mmioFOURCC