急问:如何才能在程序里同时播放两个wav文件?

liuyuw 2004-09-25 10:43:45
我在做一个小游戏,其中用sndPlaySound(_T("wave/menu.wav"),SND_ASYNC|SND_LOOP);播放背景音乐,用sndPlaySound(_T("wave/bell1.wav"),SND_ASYNC);播放按钮按下去的声音,很短的那种,但问题是,按钮按下之后背景音乐就停掉了,有没有办法让两个音乐同步?难道要用多线程?
...全文
149 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jethao 2004-12-08
  • 打赏
  • 举报
回复
eVC中使用DX,需要硬件厂商的SDK支持,也就是说,要看你的硬件设备提供商给你的SDK中,是否包含了DX SDK?

使用DX,会造成程序体积比较大,这是嵌入式开发需要注意的。

所以建议还是用api实现。

我也有同样的问题,需要同时播放2个wave文件,搜索到了你的贴子,不知道你现在解决了这个问题没有?如果解决了,给我点提示吧!

sndPlaySound肯定不能同时播放2个wave文件,双线程也不行,据说waveOut系列函数在win2k以上系统中可以,但是我没有试验成功,正在研究中。。。。
liuyuw 2004-09-25
  • 打赏
  • 举报
回复
没人回答我吗。。。
liuyuw 2004-09-25
  • 打赏
  • 举报
回复
To Atomictry(天影):
我也认为用多线程的方法比较合适,但我没写过,你有现成的代码给我参考参考马
Atomictry 2004-09-25
  • 打赏
  • 举报
回复
用DirectShow, 还不如用AfxBeginThread()一会就搞定了。
DentistryDoctor 2004-09-25
  • 打赏
  • 举报
回复
DirectX.在M$弄个SDK
liuyuw 2004-09-25
  • 打赏
  • 举报
回复
DirectShow?是函数还是控件?小弟初学,不懂呀,能不能给出原代码?
DentistryDoctor 2004-09-25
  • 打赏
  • 举报
回复
比起sndPlaySound是稍微麻烦了点,但能解决问题。
DentistryDoctor 2004-09-25
  • 打赏
  • 举报
回复
DirectShow呀。弄两个Graph不就搞定?
liuyuw 2004-09-25
  • 打赏
  • 举报
回复
因为我用的不是VC6,而是EVC,不知道支不支持DirectShow了
liuyuw 2004-09-25
  • 打赏
  • 举报
回复
阿?不会吧?
Atomictry 2004-09-25
  • 打赏
  • 举报
回复
看来你要听从DentistryDoctor兄了。
我试了用两个线程单独播放,但是结局是一样: 第一个先停止,再播放第二个。
mynamelj 2004-09-25
  • 打赏
  • 举报
回复
多线程

15,979

社区成员

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

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