/ / Win32 API Multithreading zum Abspielen von WAV-Dateien ohne Lag - C ++, Multithreading, WinAPI, Delay, WAV

Win32 API Multithreading zum Abspielen von. WAV-Datei ohne Verzögerung - C ++, Multithreading, winapi, Verzögerung, wav

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 № 1

Der 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).