Cómo: usar voces de submezcla
En este tema se muestra cómo puede establecer grupos de voces para enviar su salida a la misma voz de submezcla. Esto permite que un único cambio en una voz de submezcla afecte a todo un grupo de voces.
Crea una voz de submezcla a la que se enviarán todas las voces de efecto de sonido del juego.
IXAudio2SubmixVoice * pSFXSubmixVoice; pXAudio2->CreateSubmixVoice(&pSFXSubmixVoice,1,44100,0,0,0,0);
Cree una estructura de XAUDIO2_VOICE_SENDS que contenga una referencia a la voz de submezcla.
XAUDIO2_SEND_DESCRIPTOR SFXSend = {0, pSFXSubmixVoice}; XAUDIO2_VOICE_SENDS SFXSendList = {1, &SFXSend};
Pase la estructura XAUDIO2_VOICE_SENDS a las nuevas voces de origen a medida que se crean.
IXAudio2SourceVoice* pSFXSourceVoice; if( FAILED(hr = pXaudio2->CreateSourceVoice( &pSFXSourceVoice, (WAVEFORMATEX*)&wfx, 0, XAUDIO2_DEFAULT_FREQ_RATIO, pCallback, pSFXSendList, NULL ) ) ) return hr;
Aplicar cambios a todas las voces de efecto de sonido ajustando la voz de submezcla.
En este ejemplo, al cambiar el volumen de la voz de submezcla con la función SetVolume , se cambia eficazmente el volumen de todas las voces que se generan en él.
pSFXSubmixVoice->SetVolume(0.1);
Temas relacionados