방법: 서브믹스 음성 사용
이 항목에서는 음성 그룹을 설정하여 동일한 서브믹스 음성으로 출력을 보내는 방법을 보여 줍니다. 이렇게 하면 서브믹스 음성을 한 번의 변경으로 전체 음성 그룹에 영향을 줄 수 있습니다.
게임의 모든 음향 효과 음성이 보낼 서브믹스 음성을 만듭니다.
IXAudio2SubmixVoice * pSFXSubmixVoice; pXAudio2->CreateSubmixVoice(&pSFXSubmixVoice,1,44100,0,0,0,0);
서브믹스 음성에 대한 참조가 포함된 XAUDIO2_VOICE_SENDS 구조를 만듭니다.
XAUDIO2_SEND_DESCRIPTOR SFXSend = {0, pSFXSubmixVoice}; XAUDIO2_VOICE_SENDS SFXSendList = {1, &SFXSend};
XAUDIO2_VOICE_SENDS 구조를 만들 때 새 소스 음성에 전달합니다.
IXAudio2SourceVoice* pSFXSourceVoice; if( FAILED(hr = pXaudio2->CreateSourceVoice( &pSFXSourceVoice, (WAVEFORMATEX*)&wfx, 0, XAUDIO2_DEFAULT_FREQ_RATIO, pCallback, pSFXSendList, NULL ) ) ) return hr;
서브믹스 음성을 조정하여 모든 음향 효과 음성에 변경 내용을 적용합니다.
이 예제에서는 SetVolume 함수를 사용하여 서브믹스 음성의 볼륨을 변경하면 출력하는 모든 음성의 볼륨이 효과적으로 변경됩니다.
pSFXSubmixVoice->SetVolume(0.1);
관련 항목