PlaySound函数异常!

vcsongs 2003-07-08 03:50:59
使用PlaySound函数在一个 单独的线程 中播放一系列WAV文件.
当播放到一半(但不固定到哪个文件)时候, PlaySound产生异常退出. 哪位知道原因吗? 谢谢!

具体的调用为:
for(int i = 0; i < ... ; i++)
PlaySound(strWavFile[i], NULL, SND_FILENAME | SND_NODEFAULT | SND_SYNC);
...全文
73 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
vcsongs 2003-07-09
  • 打赏
  • 举报
回复
谢谢大家, 确实不是PlaySound的问题. 是其它线程对本线程进行了一些操作至使的...
zhouyong0371 2003-07-08
  • 打赏
  • 举报
回复
不是PlaySound的问题
USTCTony 2003-07-08
  • 打赏
  • 举报
回复
我的测试程序如下:
void CFuckDlg::OnButton1()
{
SetCurrentDirectory("J:\\test");
CString strWavFile[100];
for(int i=0;i<100;i++)
{
strWavFile[i].Format("%d",i);
}
for(i = 0; i < 100 ; i++)
{
PlaySound(strWavFile[i], NULL, SND_FILENAME | SND_NODEFAULT | SND_SYNC);
}

}
Linux2001 2003-07-08
  • 打赏
  • 举报
回复
同意楼上的观点。我觉得可能性比较大的就是楼上所说的第一个原因
USTCTony 2003-07-08
  • 打赏
  • 举报
回复
我用了56个系统声音测试了你的程序,发现都没有问题。
那么,只可能有两个问题,
第一,你还有其它的线程企图对声卡输出或者是写入数据。
第二,你的.wav可能有问题。而最有可能的是你的wav录
制的时候有一些问题。不要认为playsound会出什么问题,
会出问题的几乎只能是我们自己。要不然微软早就去喝西
北风了。:) 一己之见。不足为道。呵呵。
vcsongs 2003-07-08
  • 打赏
  • 举报
回复
to GZCompiler:
是在这个函数产生的异常, 但不能确定问题出在这里.

to jnxulei:
我上面已经指定了SND_SYNC ...
丁淇石头 2003-07-08
  • 打赏
  • 举报
回复
仔细看看PlaySound的参数的含义,通过参数可控制是否播放完成后才执行其他操作。可能是你的播放没完成而程序又执行了其他操作
GZCompiler 2003-07-08
  • 打赏
  • 举报
回复
确定是这个函数出的问题吗?

15,979

社区成员

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

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