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 。 定义了以下标志:
名称 | 说明 |
---|---|
|
此缓冲区是循环中的第一个缓冲区。 此标志仅用于输出缓冲区。 |
|
由设备驱动程序设置,以指示它已完成缓冲区并将其返回到应用程序。 |
|
此缓冲区是循环中的最后一个缓冲区。 此标志仅用于输出缓冲区。 |
|
由 Windows 设置以指示缓冲区已排队等待播放。 |
|
由 Windows 设置以指示已使用 waveInPrepareHeader 或 waveOutPrepareHeader 函数准备缓冲区。 |
dwLoops
播放循环的次数。 此成员仅用于输出缓冲区。
lpNext
保留。
reserved
保留。
注解
使用 dwFlags 成员中的WHDR_BEGINLOOP和WHDR_ENDLOOP标志指定用于循环的开始和结束数据块。 若要在单个块上循环,请为同一个块指定这两个标志。 对循环中的第一个块使用 WAVEHDR 结构中的 dwLoops 成员来指定播放循环的次数。
在调用 waveInPrepareHeader 或 waveOutPrepareHeader 函数之前,必须设置 lpData、dwBufferLength 和 dwFlags 成员。 (对于任一函数, dwFlags 成员都必须设置为 zero.)
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | mmeapi.h (包括 Windows.h) |