摘要:
转贴自: http://dn.codegear.com/cn/article/34323 阅读全文
posted @ 2008-02-20 22:42
万一
阅读(5609)
评论(0)
推荐(0)
摘要:
提示: 把数据缓冲区传给 waveOutWrite 之前, 必须使用 waveOutPrepareHeader 准备该缓冲区; 若未调用 waveOutPause 函数暂停设备, 则第一次把数据块发送给设备时即开始播放. //声明: waveOutWrite( hWaveOut: HWAVEOUT; {设备句柄} lpWaveOutHdr: PWaveHdr; {TWaveH... 阅读全文
posted @ 2008-02-20 22:20
万一
阅读(5609)
评论(3)
推荐(0)
摘要:
提示: 设备使用完数据块后, 须调用此函数; 释放(GlobalFree)缓冲区前, 须调用此函数; 取消一个尚未准备的缓冲区将无效, 但函数返回 0 //声明: waveOutUnprepareHeader( hWaveOut: HWAVEOUT; {设备句柄} lpWaveOutHdr: PWaveHdr; {TWaveHdr 结构的指针} uSize: UINT ... 阅读全文
posted @ 2008-02-20 22:07
万一
阅读(6610)
评论(0)
推荐(0)
摘要:
提示: 参数 dwRate 虽然是 4 字节的正整数, 但表示的是个小数; 两个高位表示整数部分, 两个低位表示小数部分; $8000 表示一半, $4000 表示四分之一; 譬如: $00010000 表示 1.0, 说明速度没有改变变; $000F8000, 表示 15.5 倍; 修改播放速度不会改变采样速度, 但肯定会改变播放时间. //声明: waveOutSetPlaybackRa... 阅读全文
posted @ 2008-02-20 21:53
万一
阅读(2194)
评论(0)
推荐(0)
摘要:
提示: 参数 dwPitch 虽然是 4 字节的正整数, 但表示的是个小数; 两个高位表示整数部分, 两个低位表示小数部分; $8000 表示一半, $4000 表示四分之一; 譬如: $00010000 表示 1.0, 说明音高没变; $000F8000, 表示 15.5 倍; 修改音高不会改变播放速度、采样速度和播放时间, 但不是所有设备都支持. //声明: waveOutSetPitc... 阅读全文
posted @ 2008-02-20 21:50
万一
阅读(2010)
评论(0)
推荐(0)
摘要:
提示: 当输出设备未暂停时调用该函数无效, 但也返回 0 //声明: waveOutRestart( hWaveOut: HWAVEOUT {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程使用} ... 阅读全文
posted @ 2008-02-20 21:46
万一
阅读(2078)
评论(0)
推荐(0)
摘要:
提示: 函数会终止输入, 位置清0; 放弃未处理的缓冲区并返回给程序. //声明: waveOutReset( hWaveOut: HWAVEOUT {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程... 阅读全文
posted @ 2008-02-20 21:40
万一
阅读(2130)
评论(0)
推荐(0)
摘要:
提示: 必须调用 GlobalAlloc 给 TWaveHdr 和其中的 lpData 指向的缓冲区分配内存(使用 GMEM_MOVEABLE、GMEM_SHARE), 并用 GlobalLock 锁定. //声明: waveOutPrepareHeader( hWaveOut: HWAVEOUT; {设备句柄} lpWaveOutHdr: PWaveHdr; {TWaveH... 阅读全文
posted @ 2008-02-20 21:35
万一
阅读(6873)
评论(0)
推荐(0)
摘要:
提示: 暂停后会保存当前位置, 可以用 waveOutRestart 从当前位置恢复播放. //声明: waveOutPause( hWaveOut: HWAVEOUT {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = 12... 阅读全文
posted @ 2008-02-20 21:29
万一
阅读(2295)
评论(0)
推荐(0)
摘要:
提示: 因为其中的回调函数是在中断时间内访问的, 必须在 DLL 中; 要访问的数据都必须是在固定的数据段中; 除了PostMessagetimeGetSystemTimetimeGetTimetimeSetEventtimeKillEventmidiOutShortMsgmidiOutLongMsgOutputDebugString 外, 也不能有其他系统调用.//声明:waveOutOpen(... 阅读全文
posted @ 2008-02-20 21:24
万一
阅读(7553)
评论(8)
推荐(0)
摘要:
//声明: waveOutMessage( hWaveOut: HWAVEOUT; {设备句柄} uMessage: UINT; {消息} dw1: DWORD {消息参数} dw2: DWORD {消息参数} ): Longint; {将由设备给返回值} //举例: 阅读全文
posted @ 2008-02-20 21:09
万一
阅读(3085)
评论(0)
推荐(0)
摘要:
提示: 参数 lpdwVolume 的两低位字节存放左声道音量, 两高位字节存放右声道音量; $FFFF、$0000 分别表示最大与最小音量; 如不支持立体声, 两低位字节存放单声道音量. //声明: waveOutGetVolume( hwo: HWAVEOUT; {设备句柄} lpdwVolume: PDWORD {存放音量值的变量的指针} ): MMRESULT; ... 阅读全文
posted @ 2008-02-20 21:03
万一
阅读(4805)
评论(0)
推荐(0)
摘要:
//声明: waveOutGetPosition( hWaveOut: HWAVEOUT; {设备句柄} lpInfo: PMMTime; {TMMTime 结构的指针, 用于返回播放位置} uSize: UINT {TMMTime 结构的大小, 以字节为单位} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSER... 阅读全文
posted @ 2008-02-20 20:50
万一
阅读(2753)
评论(0)
推荐(0)
摘要:
提示: 参数 lpdwRate 虽然指向的是 4 字节的正整数, 但表示的是个小数; 两个高位表示整数部分, 两个低位表示小数部分; $8000 表示一半, $4000 表示四分之一; 譬如: $00010000 表示 1.0, 说明速度没有改变变; $000F8000, 表示 15.5 倍; 修改播放速度不会改变采样速度, 但肯定会改变播放时间. //声明: waveOutGetPlayb... 阅读全文
posted @ 2008-02-20 20:41
万一
阅读(1626)
评论(0)
推荐(0)
摘要:
提示: 参数 lpdwPitch 虽然指向的是 4 字节的正整数, 但表示的是个小数; 两个高位表示整数部分, 两个低位表示小数部分; $8000 表示一半, $4000 表示四分之一; 譬如: $00010000 表示 1.0, 说明音高没变; $000F8000, 表示 15.5 倍; 修改音高不会改变播放速度、采样速度和播放时间, 但不是所有设备都支持. //声明: waveOutGe... 阅读全文
posted @ 2008-02-20 19:41
万一
阅读(2141)
评论(0)
推荐(0)
摘要:
//声明: waveOutGetNumDevs: UINT; {无参数; 返回波形输出设备的数目} //举例: 阅读全文
posted @ 2008-02-20 19:22
万一
阅读(2324)
评论(0)
推荐(0)
摘要:
//声明: waveOutGetID( hWaveOut: HWAVEOUT; {设备句柄} lpuDeviceID: PUINT {接受 ID 的变量的指针} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = 12; {设备已被另一... 阅读全文
posted @ 2008-02-20 19:20
万一
阅读(2150)
评论(0)
推荐(0)
摘要:
提示: 错误文本的长度一般不超过 MAXERRORLENGTH = 128; 如果缓冲区太小, 文本会被截断. //声明: waveOutGetErrorText( mmrError: MMRESULT; {错误号} lpText: PChar; {缓冲区} uSize: UINT {缓冲区大小} ): MMRESULT; {成功返回 ... 阅读全文
posted @ 2008-02-20 19:15
万一
阅读(943)
评论(0)
推荐(0)
摘要:
//声明: waveOutGetDevCaps( uDeviceID: UINT; {输出设备ID} lpCaps: PWaveOutCaps; {TWaveOutCaps 结构的指针, 用于接受设备信息} uSize: UINT): MMRESULT; {TWaveOutCaps 结构大小} ): MMRESULT; {成功返回 0; 可... 阅读全文
posted @ 2008-02-20 19:07
万一
阅读(3802)
评论(0)
推荐(0)
摘要:
提示: 若正在播放, 应先调用 waveOutReset 终止播放, 然后再关闭, 不然会失败. //声明: waveOutClose( hWaveOut: HWAVEOUT {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = ... 阅读全文
posted @ 2008-02-20 18:41
万一
阅读(3087)
评论(7)
推荐(0)
浙公网安备 33010602011771号