Ich versuche ein zu spielen.Wav-Sound in meinem Win32-API-Pong-Spiel. Wenn ein Paddel einen "Feuerball" auf den anderen schießt, möchte ich die .wav-Datei abspielen, jedoch bleibt alles für die Dauer des Sounds stehen. Ich möchte Multi-Threading verwenden, um dieses Problem zu lösen.
Die Art und Weise, wie ich versuche, dies zu lösen, macht keinen Unterschied:
Thread-Erstellung und Funktionsaufruf:
std::thread t1(&Game::PlayFire, this);
t1.join();
Playsound-Funktion:
void Game::PlayFire()
{
PlaySound(TEXT("fireball.wav"), NULL, SND_FILENAME);
}
Ich bin wirklich nur auf der Suche nach der Lösung von std :: head, jedoch sind mögliche Antworten willkommen.
Vielen Dank! Shane
Antworten:
0 für die Antwort № 1Der Aufruf von t1.join verhindert, dass der unmittelbare Thread die Ausführung fortsetzt, bis t1 abgeschlossen ist
0 für die Antwort № 2
Erwägen Sie die Verwendung von std :: thread :: detach (http://en.cppreference.com/w/cpp/thread/thread/detach).