在我的节目中,目前我可以播放背景音乐。我的游戏是基于一个射击游戏,如果我按下一个按钮,我怎么能把它放在哪里,让我们说出向上箭头,它播放声音,然后播放声音,它继续我们离开的地方在背景音乐?这是我的代码:
#include <iostream>
#include <Windows.h>
#include <conio.h>
#pragma comment (lib , "winmm.lib") // Used for sound
using namespace std;
// Define key
#define KEY_UP 72
int main()
{
int key = 0;
while(true)
{
PlaySound(TEXT("Background Music.wav"), NULL, SND_FILENAME|SND_ASYNC);
key = _getch();
if (key == KEY_UP)
PlaySound(TEXT("GunSound.wav"), NULL, SND_FILENAME|SND_ASYNC);
}
return 0;
}
答案 0 :(得分:0)
如果您希望连续播放背景音乐,则需要使用SND_LOOP参数。问题是在这种模式下,API会进入一种模式,在这种模式下,音乐不会停止,直到您使用NULL波形文件名进行调用。我敢打赌,如果你将背景音乐声音放在一个单独的线程上,这可以工作。如果你这样做,那么你的while循环应该继续工作。
如果你开始认真对待你的视频游戏,DirectSound绝对是你最好的选择。 CodeGuru上有很多示例应用程序可以执行此操作。