AVIStreamRead 函数 (vfw.h)

AVIStreamRead 函数根据流类型从流中读取音频、视频或其他数据。

语法

HRESULT AVIStreamRead(
  PAVISTREAM pavi,
  LONG       lStart,
  LONG       lSamples,
  LPVOID     lpBuffer,
  LONG       cbBuffer,
  LONG       *plBytes,
  LONG       *plSamples
);

参数

pavi

打开流的句柄。

lStart

要读取的第一个示例。

lSamples

要读取的示例数。 还可以指定值AVISTREAMREAD_CONVENIENT,让流处理程序确定要读取的样本数。

lpBuffer

指向包含数据的缓冲区的指针。

cbBuffer

lpBuffer 指向的缓冲区的大小(以字节为单位)。

plBytes

指向缓冲区的指针,该缓冲区接收 lpBuffer 引用的缓冲区中写入的数据的字节数。 此值可以为 NULL

plSamples

指向缓冲区的指针,该缓冲区接收 lpBuffer 引用的缓冲区中写入的样本数。 此值可以为 NULL

返回值

如果成功,则返回零,否则返回错误。 可能的错误值包括以下内容。

返回代码 说明
AVIERR_BUFFERTOOSMALL
缓冲区大小 cbBuffer 小于单个数据样本。
AVIERR_MEMORY
内存不足,无法完成读取操作。
AVIERR_FILEREAD
读取文件时出现磁盘错误。

注解

如果 lpBufferNULL,则此函数不读取任何数据;它返回有关要读取的数据大小的信息。

参数 pavi 是指向 IAVIStream 接口的指针。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 vfw.h
Library Vfw32.lib
DLL Avifil32.dll

另请参阅

AVIFile 函数

AVIFile 函数和宏