mfc实现同时播放多个音乐

来源:互联网 发布:手机网络币有几种 编辑:程序博客网 时间:2024/05/12 02:22

做连连看游戏的过程中

一开始用的是这个函数

PlaySound(_T("res\\music.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP );

作为游戏背景音乐

但是当播放特效音乐时,背景音乐就停止播放了

想到两种解决方案:

1.用mciSendString(据说可以同时播放多个音乐和其他媒体)

mciSendString(_T("open res\\bubble.wav alias aa"),NULL,0,NULL); 
mciSendString(_T("play aa wait"),NULL,0,NULL);      
mciSendString(_T("close aa"),NULL,0,m_hWnd);

由于我只需要两个音乐所以就只使用了PlaySound&mciSendString各一次(所以看不出mciSendString同时播放多个的效果)

但是mciSendString播放音乐操作非常慢,使游戏看起来很不流畅

所以就只能用mciSendString播放背景音乐,PlaySound播放特效声音

2.用多线程和playsound

这个我尝试了一下,没有任何改善,达不到多线程的效果

原因是:playsound不支持混音,多线程不奏效



0 0
原创粉丝点击