Postupy: Používání submixových hlasů
V tomto tématu se dozvíte, jak můžete nastavit skupiny hlasů tak, aby se jejich výstupy odesílaly do stejného hlasu submixu. To umožňuje jednu změnu submixního hlasu, aby ovlivnila celou skupinu hlasů.
Vytvořte submix pro hlas, do kterého se budou posílat všechny hlasové projevy efektů ve hře.
IXAudio2SubmixVoice * pSFXSubmixVoice; pXAudio2->CreateSubmixVoice(&pSFXSubmixVoice,1,44100,0,0,0,0);
Vytvořte XAUDIO2_VOICE_SENDS strukturu, která obsahuje odkaz na hlas submixu.
XAUDIO2_SEND_DESCRIPTOR SFXSend = {0, pSFXSubmixVoice}; XAUDIO2_VOICE_SENDS SFXSendList = {1, &SFXSend};
Při vytváření nových zdrojových hlasů předejte strukturu XAUDIO2_VOICE_SENDS.
IXAudio2SourceVoice* pSFXSourceVoice; if( FAILED(hr = pXaudio2->CreateSourceVoice( &pSFXSourceVoice, (WAVEFORMATEX*)&wfx, 0, XAUDIO2_DEFAULT_FREQ_RATIO, pCallback, pSFXSendList, NULL ) ) ) return hr;
Změny můžete použít u všech hlasových efektů úpravou submixového hlasu.
V tomto příkladu změna hlasitosti submixního hlasu pomocí SetVolume funkce efektivně změní hlasitost všech hlasů, které na něj mají výstup.
pSFXSubmixVoice->SetVolume(0.1);
Související témata
-
Postupy: Vytvoření grafu základního zpracování zvuku