如何:使用副混音語音
本主題說明如何設定音頻群組,以將其輸出傳送至相同的子混音聲道。 這可讓副混音的單一變更影響整個語音群組。
建立 副混音,遊戲的所有音效聲音都會傳送到其中。
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);
相關主題