如何使用playsound按顺序播放wav

a375255194 2009-05-30 12:09:45
if(i>0&&i<10)
{
m_VAR="000"+str;
PlaySound("D:\\wave\\0.wav",NULL, SND_FILENAME | SND_ASYNC);
PlaySound("D:\\wave\\0.wav",NULL, SND_FILENAME | SND_ASYNC);
PlaySound("D:\\wave\\0.wav",NULL, SND_FILENAME | SND_ASYNC);
PlaySound(strPath1.GetBuffer(0),NULL, SND_FILENAME | SND_ASYNC);
//。。。
strPath1.ReleaseBuffer();
}
其中m_VAR用于显示编辑框里面内容的一个变量
两个问题:
1.如果把这里的SND_ASYNC改成SND_SYNC的时候会先播放声音,而不是先显示编辑框内容?语句不是按顺序执行的吗?
2.使用SND_SYNC的时候可以把接下来的几个Playsound播放完,但是播放过程中程序出于不响应状态。用SND_ASYNC是可以响应的,不过播放完一个Playsound之后接下来几个就没有播放了。请问既让程序一直处于响应状态又可以把想播放的文件播放完毕要怎么做呢?另外,我想有没有办法可以先显示编辑框内容再播放声音呢?

不知道之前有没有人提过这个问题,不知道以什么关键词搜索了,关于playsound的有好多条结果,翻了10多页也没找到,完全是菜鸟,大侠帮帮忙..
...全文
217 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljie8834 2010-04-11
  • 打赏
  • 举报
回复
不是,我试了,还是不同步
ForestDB 2010-04-11
  • 打赏
  • 举报
回复
有个同步异步的问题吧。
ljie8834 2010-04-11
  • 打赏
  • 举报
回复
为什么声音和编辑框里的内容不能同时显示呢,而是先有声音后显示内容???????
ForestDB 2010-04-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 treazy 的回复:]
这样就行了

C/C++ code

PlaySound("D:\\wave\\0.wav", NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
[/Quote]
顶,注意头文件和lib。
herman~~ 2010-04-10
  • 打赏
  • 举报
回复
mark
ljie8834 2010-04-10
  • 打赏
  • 举报
回复
楼主楼主回复一下吧,谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
ljie8834 2010-04-10
  • 打赏
  • 举报
回复
再请问一下,你这里的strPath1等于什么?
ljie8834 2010-04-10
  • 打赏
  • 举报
回复
楼主这个问题解决了吗,我也遇到了同样的问题?能给我解释一下吗,感激不尽啊!!!!!!!!!!!
Treazy 2009-06-03
  • 打赏
  • 举报
回复
这样就行了

PlaySound("D:\\wave\\0.wav", NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);

64,691

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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