2016-10-31 41 views
1

私はgmaeをC++でプログラミングしています。それは宇宙の影響のようです。私はゲームフォームを開始し、そのロードイベントで私はアプリケーションのバックグラウンドで音楽を演奏するスレッドを作成します。プログラム実行中にスレッドが終了する

問題は、私がスペースバーを押して撮影するときにも音が鳴り、メインの音楽が停止するという問題です。

私は既にこの問題を抱えていましたが、スレッドで問題を修正する必要があると言われました。

スレッドを作成しましたが、私の問題があります。助けていただければ幸いです。

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); 

} 

これはloadイベントであり、これはPlaymusic方法である:あなたがバックグラウンドで実行しないようにしようとした場合

static void PlayMusic() 
{ 
    PlaySound(TEXT("../Musicas/Game.wav"), NULL, SND_ASYNC | SND_LOOP); 
} 
+3

'PlaySound'はこれに適合しません。一度に1つのサウンドしか再生できません。 – molbdnilo

+0

このようなことのために別の機能を教えてもらえますか? – kingwarrior05

+0

私はあなたが[DirectSound](https://msdn.microsoft.com/en-us/library/ee416960(v = vs.85).aspx)を使うことができ、他のWindows APIがある可能性があると思います。多くの人が図書館を使用(いいえ、どちらがあなたに適しているのかわかりません) – molbdnilo

答えて

0

それでも動作するのですか、それとも何もありませんか?

多分あなたは何が起こるか見ることができます

関連する問題