MM_WIM_DATA 消息无响应
小弟做了个音频通信的软件,想从类似qq的用户列表中点击,弹出对话框,然后在对话框中实现语音通信。
可是在子对话框中定义了MM_WIM_DATA消息 总是无法响应与其对应的OnRecordFull()函数,希望大神指点。
主列表对话框类名CQMDlg,子语音通信对话框类名CSendVoiceDlg
afx_msg void OnRecordFull(UINT wParam,LONG lParam);
ON_MESSAGE(MM_WIM_DATA,OnRecordFull)
void CSendVoiceDlg::OnRecordFull(UINT wParam,LONG lParam) //响应MM_WIM_DATA缓冲已满消息
我怀疑是不是因为没有取得当前窗口的句柄啊,我初始化录音的部分代码是这样的
// CWnd *pwnd = FindWindow("IDD_DIALOG_TALK",NULL); //希望找到资源管理器
// HWND hwnd1 = pwnd->GetSafeHwnd(); //得到它的HWND
hwnd=AfxGetMainWnd()->m_hWnd;//句柄
//OPEN AUDIO INPUT DEVICE WITH THE SAME FORMAT
if(result=waveInOpen( (LPHWAVEIN)&hWaveIn,WAVE_MAPPER,(LPWAVEFORMATEX)&pcm.wf,(DWORD)(UINT)hwnd,0L,CALLBACK_WINDOW) )
是不是必须要当前窗口句柄来打开录音设备才行?如果是 ,如何获得呢?