为什么在关闭音频的时候关闭不掉

TRUE 2004-04-05 02:45:35
我的代码如下:
MMRESULT mmr = waveOutReset(m_hOutDev);/we reset the device*/
mmr = waveOutClose(m_hOutDev);/*second, close the device*/
if (mmr != 0)
{
MMERR(mmr);
}

m_hOutDev = NULL;/*set m_hOutDev to NULL*/
但是有的时候在执行到MMRESULT mmr = waveOutReset(m_hOutDev)的时候,系统就停滞了,再也不能执行和调试了,也就是说音频关闭不掉。
...全文
209 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
TRUE 2004-04-20
  • 打赏
  • 举报
回复
其实这个问题是非常的普遍的,一般的语音软件或者是VOIP 系统普遍存在的问题。只要多多的测试,就会发现问题,希望大家多多给出答案
TRUE 2004-04-20
  • 打赏
  • 举报
回复
其实这个问题是非常的普遍的,一般的语音软件或者是VOIP 系统普遍存在的问题。只要多多的测试,就会发现问题,
TRUE 2004-04-16
  • 打赏
  • 举报
回复
to zero100(美在于发现)
我查看了MSDN, 可是在waveinproc 和waveoutproc 中 执行WIM_CLOSE 和WOM_CLOSE ,则实际上执行的还是waveoutreset 和
waveOutClose,他的本质是没有变化的。
huqiming 2004-04-15
  • 打赏
  • 举报
回复
另外一般都说,在关闭前sleep一会比较安全,或许是声卡buf问题吧
zero100 2004-04-15
  • 打赏
  • 举报
回复
可以在waveinproc和waveoutproc的函数中做处理,
比如判断已经调用了waveOutReset,就立即退出.
defendmidfield 2004-04-12
  • 打赏
  • 举报
回复
这个应该是死锁问题,msdn上都有详细的说明,找windows platform sdk
查waveinproc和waveoutproc两种回调函数
huqiming 2004-04-12
  • 打赏
  • 举报
回复
我想起来了,刚开始我也遇到这个问题,后来发现改变buffer长度为160字节的倍数就要好多了,也不知道为什么。
TRUE 2004-04-08
  • 打赏
  • 举报
回复
to chenghl(程门立雪)
Sleep(50)是为什么要进行延时呢?
chenghl 2004-04-07
  • 打赏
  • 举报
回复
在waveOutReset之前先调用waveOutPause,我就这样用的,没有发现问题.如下代码:

if (m_WaveOut !=NULL)
{
waveOutPause(m_WaveOut);
Sleep(50);
}

if (m_WaveOutEvent !=NULL)
{
SetEvent(m_WaveOutEvent);
Sleep(50);
}

if (m_WaveOut !=NULL)
{
waveOutReset(m_WaveOut);
waveOutClose(m_WaveOut);
m_WaveOut =0;
}
dreameasy 2004-04-07
  • 打赏
  • 举报
回复
up!
TRUE 2004-04-06
  • 打赏
  • 举报
回复
to huqiming(Super)
如果我现在在录音或播放的过程中不用waveOutReset,那是要出错的,
huqiming 2004-04-06
  • 打赏
  • 举报
回复
注释那一行,什么都不用
TRUE 2004-04-06
  • 打赏
  • 举报
回复
to wlpwind(robin) :
哪又改作什么操作呢?
麻烦详细的指点。
TRUE 2004-04-06
  • 打赏
  • 举报
回复
to huqiming(Super)
那用什么?
wlpwind 2004-04-05
  • 打赏
  • 举报
回复
是不是访问冲突的问题。
访问设备前应该做一些处理吧。
huqiming 2004-04-05
  • 打赏
  • 举报
回复
别用waveOutReset

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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