waveHDR 结构 (mmeapi.h)

WAVEHDR 结构定义用于标识波形音频缓冲区的标头。

语法

typedef struct wavehdr_tag {
  LPSTR              lpData;
  DWORD              dwBufferLength;
  DWORD              dwBytesRecorded;
  DWORD_PTR          dwUser;
  DWORD              dwFlags;
  DWORD              dwLoops;
  struct wavehdr_tag *lpNext;
  DWORD_PTR          reserved;
} WAVEHDR, *PWAVEHDR, *NPWAVEHDR, *LPWAVEHDR;

成员

lpData

指向波形缓冲区的指针。

dwBufferLength

缓冲区的长度(以字节为单位)。

dwBytesRecorded

在输入中使用 标头时, 指定缓冲区中的数据量。

dwUser

用户数据。

dwFlags

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

名称 说明
WHDR_BEGINLOOP
此缓冲区是循环中的第一个缓冲区。 此标志仅用于输出缓冲区。
WHDR_DONE
由设备驱动程序设置,以指示它已完成缓冲区并将其返回到应用程序。
WHDR_ENDLOOP
此缓冲区是循环中的最后一个缓冲区。 此标志仅用于输出缓冲区。
WHDR_INQUEUE
由 Windows 设置以指示缓冲区已排队等待播放。
WHDR_PREPARED
由 Windows 设置以指示已使用 waveInPrepareHeaderwaveOutPrepareHeader 函数准备缓冲区。

dwLoops

播放循环的次数。 此成员仅用于输出缓冲区。

lpNext

保留。

reserved

保留。

注解

使用 dwFlags 成员中的WHDR_BEGINLOOP和WHDR_ENDLOOP标志指定用于循环的开始和结束数据块。 若要在单个块上循环,请为同一个块指定这两个标志。 对循环中的第一个块使用 WAVEHDR 结构中的 dwLoops 成员来指定播放循环的次数。

在调用 waveInPrepareHeader 或 waveOutPrepareHeader 函数之前,必须设置 lpDatadwBufferLengthdwFlags 成员。 (对于任一函数, dwFlags 成员都必须设置为 zero.)

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 mmeapi.h (包括 Windows.h)

另请参阅

波形音频

波形结构

waveInPrepareHeader

waveOutPrepareHeader