/ / Win32 एपीआई मल्टीथ्रेडिंग टू प्ले .wav फाइल विथ नो लैग - सी ++, मल्टीथ्रेडिंग, वाइनपी, डिले, वेव

Win32 एपीआई multithreading .wav फ़ाइल खेलने के लिए कोई अंतराल के साथ - c ++, multithreading, winapi, देरी, wav

मैं खेलने की कोशिश कर रहा हूं।मेरे Win32 एपीआई पोंग खेल में wav ध्वनि। जब एक पैडल दूसरे पर "फायरबॉल" शूट करता है तो मैं .wav फ़ाइल खेलना चाहता हूं, हालांकि ध्वनि की अवधि के लिए सब कुछ बंद हो जाता है। मैं इस समस्या को हल करने के लिए मल्टी-थ्रेडिंग का उपयोग करना चाहूंगा।

जिस तरह से मैं इसे हल करने का प्रयास कर रहा हूं उससे कोई फर्क नहीं पड़ता है:

धागा निर्माण और समारोह कॉल:

std::thread t1(&Game::PlayFire, this);
t1.join();

Playsound समारोह:

void Game::PlayFire()
{
PlaySound(TEXT("fireball.wav"), NULL, SND_FILENAME);
}

मैं वास्तव में सिर्फ std की तलाश कर रहा हूँ :: इस के लिए सिर समाधान, हालांकि किसी भी संभावित उत्तर की सराहना की जाती है।

धन्यवाद! शेन

उत्तर:

जवाब के लिए 0 № 1

T1.join पर कॉल तत्काल थ्रेड को तब तक जारी रखने से रोकता है जब तक कि t1 पूरा न हो जाए


जवाब के लिए 0 № 2

एसटीडी :: थ्रेड :: डिटैच (http://en.cppreference.com/w/cpp/thread/thread/detach)।