随笔分类 -  API WAVE 专栏

上一页 1 2 3 下一页
WinAPI: waveOutSetPitch - 设置输出设备的音调设置(音高的倍数值)
摘要:提示: 参数 dwPitch 虽然是 4 字节的正整数, 但表示的是个小数; 两个高位表示整数部分, 两个低位表示小数部分; $8000 表示一半, $4000 表示四分之一; 譬如: $00010000 表示 1.0, 说明音高没变; $000F8000, 表示 15.5 倍; 修改音高不会改变播放速度、采样速度和播放时间, 但不是所有设备都支持. //声明: waveOutSetPitc... 阅读全文
posted @ 2008-02-20 21:50 万一 阅读(1983) 评论(0) 推荐(0) 编辑
WinAPI: waveOutRestart - 重新启动一个被暂停的输出设备
摘要:提示: 当输出设备未暂停时调用该函数无效, 但也返回 0 //声明: waveOutRestart( hWaveOut: HWAVEOUT {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程使用} ... 阅读全文
posted @ 2008-02-20 21:46 万一 阅读(2061) 评论(0) 推荐(0) 编辑
WinAPI: waveOutReset - 重置输出
摘要:提示: 函数会终止输入, 位置清0; 放弃未处理的缓冲区并返回给程序. //声明: waveOutReset( hWaveOut: HWAVEOUT {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程... 阅读全文
posted @ 2008-02-20 21:40 万一 阅读(2105) 评论(0) 推荐(0) 编辑
WinAPI: waveOutPrepareHeader - 准备一个波形数据块用于播放
摘要:提示: 必须调用 GlobalAlloc 给 TWaveHdr 和其中的 lpData 指向的缓冲区分配内存(使用 GMEM_MOVEABLE、GMEM_SHARE), 并用 GlobalLock 锁定. //声明: waveOutPrepareHeader( hWaveOut: HWAVEOUT; {设备句柄} lpWaveOutHdr: PWaveHdr; {TWaveH... 阅读全文
posted @ 2008-02-20 21:35 万一 阅读(6830) 评论(0) 推荐(0) 编辑
WinAPI: waveOutPause - 暂停播放
摘要:提示: 暂停后会保存当前位置, 可以用 waveOutRestart 从当前位置恢复播放. //声明: waveOutPause( hWaveOut: HWAVEOUT {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = 12... 阅读全文
posted @ 2008-02-20 21:29 万一 阅读(2272) 评论(0) 推荐(0) 编辑
WinAPI: waveOutOpen - 打开波形输出设备
摘要:提示: 因为其中的回调函数是在中断时间内访问的, 必须在 DLL 中; 要访问的数据都必须是在固定的数据段中; 除了PostMessagetimeGetSystemTimetimeGetTimetimeSetEventtimeKillEventmidiOutShortMsgmidiOutLongMsgOutputDebugString 外, 也不能有其他系统调用.//声明:waveOutOpen(... 阅读全文
posted @ 2008-02-20 21:24 万一 阅读(7472) 评论(8) 推荐(0) 编辑
WinAPI: waveOutMessage - 向波形输出设备发送一条消息
摘要://声明: waveOutMessage( hWaveOut: HWAVEOUT; {设备句柄} uMessage: UINT; {消息} dw1: DWORD {消息参数} dw2: DWORD {消息参数} ): Longint; {将由设备给返回值} //举例: 阅读全文
posted @ 2008-02-20 21:09 万一 阅读(3063) 评论(0) 推荐(0) 编辑
WinAPI: waveOutGetVolume - 获取输出设备当前的音量设置
摘要:提示: 参数 lpdwVolume 的两低位字节存放左声道音量, 两高位字节存放右声道音量; $FFFF、$0000 分别表示最大与最小音量; 如不支持立体声, 两低位字节存放单声道音量. //声明: waveOutGetVolume( hwo: HWAVEOUT; {设备句柄} lpdwVolume: PDWORD {存放音量值的变量的指针} ): MMRESULT; ... 阅读全文
posted @ 2008-02-20 21:03 万一 阅读(4741) 评论(0) 推荐(0) 编辑
WinAPI: waveOutGetPosition - 获取输出设备当前的播放位置
摘要://声明: waveOutGetPosition( hWaveOut: HWAVEOUT; {设备句柄} lpInfo: PMMTime; {TMMTime 结构的指针, 用于返回播放位置} uSize: UINT {TMMTime 结构的大小, 以字节为单位} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSER... 阅读全文
posted @ 2008-02-20 20:50 万一 阅读(2725) 评论(0) 推荐(0) 编辑
WinAPI: waveOutGetPlaybackRate - 获取输出设备当前的播放速度设置(默认速度值的倍数)
摘要:提示: 参数 lpdwRate 虽然指向的是 4 字节的正整数, 但表示的是个小数; 两个高位表示整数部分, 两个低位表示小数部分; $8000 表示一半, $4000 表示四分之一; 譬如: $00010000 表示 1.0, 说明速度没有改变变; $000F8000, 表示 15.5 倍; 修改播放速度不会改变采样速度, 但肯定会改变播放时间. //声明: waveOutGetPlayb... 阅读全文
posted @ 2008-02-20 20:41 万一 阅读(1613) 评论(0) 推荐(0) 编辑
WinAPI: waveOutGetPitch - 获取输出设备当前的音调设置(音高的倍数值)
摘要:提示: 参数 lpdwPitch 虽然指向的是 4 字节的正整数, 但表示的是个小数; 两个高位表示整数部分, 两个低位表示小数部分; $8000 表示一半, $4000 表示四分之一; 譬如: $00010000 表示 1.0, 说明音高没变; $000F8000, 表示 15.5 倍; 修改音高不会改变播放速度、采样速度和播放时间, 但不是所有设备都支持. //声明: waveOutGe... 阅读全文
posted @ 2008-02-20 19:41 万一 阅读(2118) 评论(0) 推荐(0) 编辑
WinAPI: waveOutGetNumDevs - 获取波形输出设备的数目
摘要://声明: waveOutGetNumDevs: UINT; {无参数; 返回波形输出设备的数目} //举例: 阅读全文
posted @ 2008-02-20 19:22 万一 阅读(2295) 评论(0) 推荐(0) 编辑
WinAPI: waveOutGetID - 获取输出设备 ID
摘要://声明: waveOutGetID( hWaveOut: HWAVEOUT; {设备句柄} lpuDeviceID: PUINT {接受 ID 的变量的指针} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = 12; {设备已被另一... 阅读全文
posted @ 2008-02-20 19:20 万一 阅读(2108) 评论(0) 推荐(0) 编辑
WinAPI: waveOutGetDevCaps - 查询输出设备的性能
摘要://声明: waveOutGetDevCaps( uDeviceID: UINT; {输出设备ID} lpCaps: PWaveOutCaps; {TWaveOutCaps 结构的指针, 用于接受设备信息} uSize: UINT): MMRESULT; {TWaveOutCaps 结构大小} ): MMRESULT; {成功返回 0; 可... 阅读全文
posted @ 2008-02-20 19:07 万一 阅读(3740) 评论(0) 推荐(0) 编辑
WinAPI: waveOutClose - 关闭设备
摘要:提示: 若正在播放, 应先调用 waveOutReset 终止播放, 然后再关闭, 不然会失败. //声明: waveOutClose( hWaveOut: HWAVEOUT {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = ... 阅读全文
posted @ 2008-02-20 18:41 万一 阅读(3057) 评论(7) 推荐(0) 编辑
WinAPI: waveOutBreakLoop - 跳出循环
摘要:提示: 循环是由 saveOutWrite 传递的 TWaveHdr 结构的 dwLoop 和 dwFlags 控制的; dwFlags 的 WHDR_BEGINLOOP、WHDR_ENDLOOP 标识循环的开始和结束数据块; 在同一数据块上循环, 应同时指定这两个标志; 循环次数 dwLoops 应该在开始块上指定; 循环终止前, 组成循环体的块一定要播放完; 当无播放内容或循环设定失败时,... 阅读全文
posted @ 2008-02-20 18:35 万一 阅读(2516) 评论(0) 推荐(0) 编辑
WinAPI: waveInUnprepareHeader - 清除由 waveInPrepareHeader 完成的准备
摘要:提示: 设备写满缓冲区返回给程序后, 须调用此函数; 释放(GlobalFree)缓冲区前, 须调用此函数; 取消一个尚未准备的缓冲区将无效, 但函数返回 0 //声明: waveInUnprepareHeader( hWaveIn: HWAVEIN; {设备句柄} lpWaveInHdr: PWaveHdr; {TWaveHdr 结构的指针} uSize: UINT ... 阅读全文
posted @ 2008-02-20 17:42 万一 阅读(5705) 评论(0) 推荐(0) 编辑
WinAPI: waveInStop - 停止输入
摘要:提示: 如果未启动则调用无效, 但也返回 0; 缓冲区会被返回, TWaveHdr 结构中的 dwBytesRecorded 将包含返回的实际数据的长度. //声明: waveInStop( hWaveIn: HWAVEIN {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效}... 阅读全文
posted @ 2008-02-20 17:27 万一 阅读(2625) 评论(0) 推荐(0) 编辑
WinAPI: waveInStart - 启动输入
摘要://声明: waveInStart( hWaveIn: HWAVEIN {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效} MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程使用} //举例: 阅读全文
posted @ 2008-02-20 17:22 万一 阅读(3159) 评论(0) 推荐(0) 编辑
WinAPI: waveInReset - 重置输入
摘要:提示: 函数会终止输入, 位置清0; 放弃未处理的缓冲区并返回给程序; TWaveHdr 结构中的 dwBytesRecorded 将包含实际数据的长度. //声明: waveInReset( hWaveIn: HWAVEIN {设备句柄} ): MMRESULT; {成功返回 0; 可能的错误值见下:} MMSYSERR_INVALHANDLE = 5; {设备句柄无效}... 阅读全文
posted @ 2008-02-20 16:49 万一 阅读(2916) 评论(0) 推荐(0) 编辑

上一页 1 2 3 下一页