AVISTREAMINFOA 结构 (vfw.h)
AVISTREAMINFO 结构包含单个流的信息。
语法
typedef struct _AVISTREAMINFOA {
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;
char szName[64];
} AVISTREAMINFOA, *LPAVISTREAMINFOA;
成员
fccType
指示流类型的四个字符代码。 已为 AVI 流中常见的数据定义了以下常量:
不断 | 描述 |
---|---|
|
指示音频流。 |
|
指示 MIDI 流。 |
|
指示文本流。 |
|
指示视频流。 |
fccHandler
压缩器处理程序的四个字符代码,用于在保存视频流时压缩此视频流(例如,mmioFOURCC('M','S','V','C'))。 此成员不用于音频流。
dwFlags
流的适用标志。 这些标志的高序单词中的位特定于流中包含的数据类型。 定义了以下标志:
名字 | 描述 |
---|---|
|
指示当用户显式启用时应呈现此流。 |
|
指示此视频流包含调色板更改。 此标志警告播放软件需要对调色板进行动画处理。 |
dwCaps
功能标志;当前未使用。
wPriority
流的优先级。
wLanguage
流的语言。
dwScale
适用于流的时间刻度。 将 dwRate 除以 dwScale 可提供每秒样本数的播放速率。
对于视频流,此速率应为帧速率。 对于音频流,此速率应对应于音频块大小(nBlockAlignWAVEAT 或 PCMWAVEFORMAT 结构),PCM(脉冲代码调节)音频的音频会降低到采样率。
dwRate
采用整数格式的速率。 若要获取每秒样本中的速率,请用 dwScale中的值除以此值。
dwStart
AVI 文件的第一帧的示例编号。 这些单位由 dwRate 定义,dwScale。 通常,这为零,但它可以为不与文件并发启动的流指定延迟时间。
AVI 工具的 1.0 版本不支持非零开始时间。
dwLength
此流的长度。 这些单位由 dwRate 定义,dwScale。
dwInitialFrames
音频倾斜。 此成员指定在交错文件中的视频帧之前倾斜音频数据的数量。 通常,这是大约 0.75 秒。
dwSuggestedBufferSize
流的推荐缓冲区大小(以字节为单位)。 通常,此成员包含对应于流中最大区块的值。 使用正确的缓冲区大小可提高播放效率。 如果不知道正确的缓冲区大小,请使用零。
dwQuality
流中视频数据的质量指示器。 质量表示为介于 0 和 10,000 之间的数字。 对于压缩数据,这通常表示传递给压缩软件的质量参数的值。 如果设置为 –1,驱动程序将使用默认质量值。
dwSampleSize
单个数据示例的大小(以字节为单位)。 如果此成员的值为零,则样本的大小可能会有所不同,并且每个数据样本(如视频帧)必须位于单独的区块中。 非零值指示可以将多个数据样本分组到文件中的单个区块中。
对于视频流,此数字通常为零,但如果所有视频帧的大小都相同,则它可以是非零的。 对于音频流,此数字应
rcFrame
视频目标矩形的尺寸。 这些值表示左上角、高度和矩形宽度的坐标。
dwEditCount
流已编辑的次数。 流处理程序维护此计数。
dwFormatChangeCount
流格式已更改的次数。 流处理程序维护此计数。
szName[64]
包含流说明的以 Null 结尾的字符串。
言论
注意
vfw.h 标头将 AVISTREAMINFO 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | vfw.h |