1
我正在用C++。net编程一个gmae,它就像空间的影响。我开始游戏的形式和它的负载事件中,我创建一个线程应用程序的后台播放音乐。我的线程在程序运行时关闭
问题是,当我按下空格键拍摄时,它也播放声音,并停止主音乐。
我已经有这个问题,但我被告知线程应该解决这个问题。
我创建线程和我的问题的立场。一些帮助将不胜感激。
private: System::Void GameForm_Load(System::Object^ sender, System::EventArgs^ e)
{
Thread^ newThread = gcnew Thread(gcnew ThreadStart(PlayMusic));
newThread->Name = "MusicaImperio";
newThread->IsBackground = true;
if(newThread->IsBackground == true)
newThread->Start();
//Sleep(3000);
}
这是负载情况下,这是Playmusic方法:
static void PlayMusic()
{
PlaySound(TEXT("../Musicas/Game.wav"), NULL, SND_ASYNC | SND_LOOP);
}
'PlaySound'不适合这个;你只能一次播放一个声音。 – molbdnilo
你能告诉我这样的事情其他功能? – kingwarrior05
我认为你可以使用[DirectSound](https://msdn.microsoft.com/en-us/library/ee416960(v = vs.85).aspx),并且可能还有其他的Windows API。许多人使用图书馆。 (不,我不知道哪一个适合你。) – molbdnilo