一次播放多种声音,继续我们离开的地方

Play Multiple Sounds at Once and Continue Where we Left off

本文关键字:我们 继续 离开 声音 一次 播放      更新时间:2023-10-16

在我的程序中,目前我可以播放背景音乐。我的游戏是基于射击游戏的,如果按下按钮,可以说是在播放声音之后播放的声音,它可以播放声音,它继续我们在背景音乐中播放的地方?这是我的代码:

#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;
}

如果您希望背景音乐连续播放,则需要使用snd_loop参数。问题在于,在这种模式下,API进入了一种模式,直到使用Null Wave文件名来拨打音乐才能停止。我敢打赌,如果您将背景音乐的声音放在单独的线程上,则可以工作。如果您这样做,那么您的余下循环应该工作。

如果您开始认真对待视频游戏,则无疑是您最好的选择。Codeguru上有很多示例应用程序。