mfc实现同时播放多个音乐

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:30   1982   0

做连连看游戏的过程中

一开始用的是这个函数

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 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP