MM_WIM_DATA 消息无响应

Kenshin 2013-04-02 11:20:36
小弟做了个音频通信的软件,想从类似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) )

是不是必须要当前窗口句柄来打开录音设备才行?如果是 ,如何获得呢?
...全文
102 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-06-03
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
shen_wei 2013-04-03
  • 打赏
  • 举报
回复
使用多线程,每打开一个窗口,一个独立线程!!
菜牛 2013-04-03
  • 打赏
  • 举报
回复
你检查下获取的窗口句柄是否有效,是否是你消息响应函数所在的窗口。
Kenshin 2013-04-02
  • 打赏
  • 举报
回复
我在单对话框的情况下 这样做是可以发出声音 说明消息发送 并响应了。。。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧