2016-10-31 53 views
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); 
} 
+3

'PlaySound'不適合這個;你只能一次播放一個聲音。 – molbdnilo

+0

你能告訴我這樣的事情其他功能? – kingwarrior05

+0

我認爲你可以使用[DirectSound](https://msdn.microsoft.com/en-us/library/ee416960(v = vs.85).aspx),並且可能還有其他的Windows API。許多人使用圖書館。 (不,我不知道哪一個適合你。) – molbdnilo

回答

0

,如果你試試看能不能在後臺運行。

這樣做還是沒有用?

也許你可以看到會發生什麼

相關問題