- WinAPI: waveInReset - 重置输入
- 提示:
- 函数会终止输入, 位置清0; 放弃未处理的缓冲区并返回给程序;
- TWaveHdr 结构中的 dwBytesRecorded 将包含实际数据的长度.
- //声明:
- waveInReset(
- hWaveIn: HWAVEIN {设备句柄}
- ): MMRESULT; {成功返回 0; 可能的错误值见下:}
- MMSYSERR_INVALHANDLE = 5; {设备句柄无效}
- MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程使用}
- WinAPI: waveInStart - 启动输入
- //声明:
- waveInStart(
- hWaveIn: HWAVEIN {设备句柄}
- ): MMRESULT; {成功返回 0; 可能的错误值见下:}
- MMSYSERR_INVALHANDLE = 5; {设备句柄无效}
- MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程使用}
- WinAPI: waveInStop - 停止输入
- 提示: 如果未启动则调用无效, 但也返回 0;
- 缓冲区会被返回, TWaveHdr 结构中的 dwBytesRecorded 将包含返回的实际数据的长度.
- //声明:
- waveInStop(
- hWaveIn: HWAVEIN {设备句柄}
- ): MMRESULT; {成功返回 0; 可能的错误值见下:}
- MMSYSERR_INVALHANDLE = 5; {设备句柄无效}
- MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程使用}
- WinAPI: waveOutClose - 关闭设备
- 提示: 若正在播放, 应先调用 waveOutReset 终止播放, 然后再关闭, 不然会失败.
- //声明:
- waveOutClose(
- hWaveOut: HWAVEOUT {设备句柄}
- ): MMRESULT; {成功返回 0; 可能的错误值见下:}
- MMSYSERR_INVALHANDLE = 5; {设备句柄无效}
- MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程使用}
- WAVERR_STILLPLAYING = 33; {缓冲区还在队列中}
复制代码 |