C++ 音乐及;使用C++;

C++ 音乐及;使用C++;,c++,visual-c++,C++,Visual C++,问题: 我需要在运行程序时在后台重复/循环播放的音乐。然后,当我进入程序的另一部分时,背景音乐需要暂停,播放另一个声音文件,然后恢复背景音乐 问题示例: 例如,我有一个21点程序,在运行它时播放背景音乐。然后,当您实际登录或创建帐户时,它会播放一个声音文件,上面写着“欢迎”。或者,如果我使用一个函数来洗牌向量(一副牌),它会播放一个声音效果,听起来像是一副牌在洗牌 我尝试过的: Playsound()-它循环/重复,但不允许暂停、恢复等。我的代码是: #include <windows.

问题: 我需要在运行程序时在后台重复/循环播放的音乐。然后,当我进入程序的另一部分时,背景音乐需要暂停,播放另一个声音文件,然后恢复背景音乐

问题示例: 例如,我有一个21点程序,在运行它时播放背景音乐。然后,当您实际登录或创建帐户时,它会播放一个声音文件,上面写着“欢迎”。或者,如果我使用一个函数来洗牌向量(一副牌),它会播放一个声音效果,听起来像是一副牌在洗牌

我尝试过的:

  • Playsound()-它循环/重复,但不允许暂停、恢复等。我的代码是:

    #include <windows.h>
    #include <mmsystem.h>
    #pragma comment(lib, "winmm.lib") // Link to the winmm library
    
    PlaySound(TEXT("86876__milton__title-screen.wav"), NULL, SND_LOOP | SND_ASYNC); // Background music
    
    #包括
    #包括
    #pragma注释(lib,“winmm.lib”)//指向winmm库的链接
    播放声音(文本(“86876_uMilton_utitle-screen.wav”),空,SND_循环| SND_异步);//背景音乐
    
  • MCI-不知道如何使其循环/重复、暂停或恢复。我只能得到以下代码:

    #include <windows.h>
    #include <mmsystem.h>
    #pragma comment(lib, "winmm.lib") // Link to the winmm library
    
    MCIERROR me = mciSendString("open 86876__milton__title-screen.wav type waveaudio alias song1",NULL, 0, 0);
    if (me == 0)
    {
        me = mciSendString("play song1", NULL, 0, 0);
    }
    
    #包括
    #包括
    #pragma注释(lib,“winmm.lib”)//指向winmm库的链接
    MCIERROR me=mciSendString(“打开86876_uuMilton_uutitle-screen.wav类型waveaudio别名song1”,NULL,0,0);
    如果(me==0)
    {
    me=mciSendString(“播放歌曲1”,NULL,0,0);
    }
    
  • 我一直在读到,在使用VisualStudio或任何微软产品时,我需要远离第三方产品。但是,如果你能建议一些好的和简单的,那么请

其他:
我是一个初学者,所以我需要它尽可能简单。对于PythonPyGame混合器,它实际上是一行来播放、暂停、恢复等。我需要这样的东西

pygame是一个框架,当然Windows API可能没有高级的功能。如果你想要更高层次的抽象,也许可以尝试使用像SFML这样的框架。有人认为如果我同时使用Playsound和MCI,它会导致一些问题吗?例如,playsound有我的循环背景音乐,MCI将制作整个游戏中出现的快速音效花絮。。??