URL:http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_waveoutwrite.asp?frame=true
这个函数将一个数据块发送到一个指定的波形音频输出装置。
(The waveOutWrite function sends a data block to the given waveform-audio output device.)
原型如下:
MMRESULT waveOutWrite(
HWAVEOUT hwo,
LPWAVEHDR pwh,
UINT cbwh
);
参数(s)如下:(parameters)
hwo
波形音频输出装置的柄(handle).
pwh
一个指向包含有数据块信息的WAVEHDR结构的指针。
cbwh
这个就是WAVEHDR结构的大小(用sizeof (WAVEHDR) 就可以了)。
返回的值介绍:
如果该函数成功完成则会返回MMSYSERR__NOERROR
否则就返回以下的值:
值 说明
MMSYSERR_INVALHANLE 给定的装置柄无效。
MMSYSERR_NODRIVER 没有装置驱动。
MMSYSERR_NOMEM 不可以分配内存(memory)
WAVERR_UNPREPARED pwh参数项所指的数据块没有被prepared(该不会没有用 waveOutPrepareHeader这个函数吧!)
注:
当输完缓冲器里的数据时,WAVEHDR 结构的dwFlags
成员就会被设定为DHDR_DONE,当缓冲器被传到waveOutWrite函数中之前必须用waveOutP
repareHeader函数prepare一下。除非装置被waveOutPause 函数暂停了之后,回放在第
一个数据块被发送到装置时开始了。
要求:
Requirements
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Mmsystem.h; include Windows.h.
Library: Use Winmm.lib.(用VC IDE的朋友不要忘记了在link里添加这个东东哦!)
参考:
Waveform Audio, Waveform Functions, WAVEHDR, waveOutPrepareHeader,