waveInOpen()中的回调函数该怎么定义
编号:QA002979
建立日期: 2000年5月24日 最后修改日期:2001年10月29日
所属类别:
成成:
操作系统: WINDOWS98/NT
编程工具: VC++6.0
问题: 现正毕业设计(有关网络语音传输),声卡采样时可能要用到WINDOWS的回调机制,API函数waveInOpen()中提供了四种回调方式——窗口,事件,函数和线程,我打算用函数回调,但不知回调函数怎么用--如回调函数是声明为全局函数还是一个类的成员函数,以及回调函数的参数是否有规定,声卡驱动程序产生的消息怎
样传入回调函数。现正是毕业设计,如有哪位大虾不吝赐教,感激不尽。
水平: 刚入门
回答:
waveInOpen的回调函数就是一个普通的函数,不一定是全局函数,一般不是类的成员函数。参数是有规定的:
void CALLBACK waveInProc(
HWAVEIN hwi,
UINT uMsg,
DWORD dwInstance,
DWORD dwParam1,
DWORD dwParam2
);
详细的说明在waveInOpen的帮助中可以找到。
杨志高的意见:
其实你不用另外写一个回调函数,在waveInOpen函数中传递一个窗口句柄,然后在此窗口中的PreTranslateMsg函数中处理声音消息就可以了,这样更简单方便。
此问题由李海回答。
| |
|
|
| |
|
|