共用方式為


如何:使用副混音語音

本主題說明如何設定音頻群組,以將其輸出傳送至相同的子混音聲道。 這可讓副混音的單一變更影響整個語音群組。

  1. 建立 副混音,遊戲的所有音效聲音都會傳送到其中。

    IXAudio2SubmixVoice * pSFXSubmixVoice;
    pXAudio2->CreateSubmixVoice(&pSFXSubmixVoice,1,44100,0,0,0,0);
    
  2. 建立包含副混音聲音參考的 XAUDIO2_VOICE_SENDS 結構。

    XAUDIO2_SEND_DESCRIPTOR SFXSend = {0, pSFXSubmixVoice};
    XAUDIO2_VOICE_SENDS SFXSendList = {1, &SFXSend};
    
  3. 建立新的來源語音時,將 XAUDIO2_VOICE_SENDS 結構傳遞給它們。

    IXAudio2SourceVoice* pSFXSourceVoice;
    if( FAILED(hr = pXaudio2->CreateSourceVoice( &pSFXSourceVoice, (WAVEFORMATEX*)&wfx,
        0, XAUDIO2_DEFAULT_FREQ_RATIO, pCallback, pSFXSendList, NULL ) ) )
        return hr;
    
  4. 透過調整次級混音聲道來套用所有音效聲音的變更。

    在此範例中,使用 SetVolume 函式變更副混音的音量,實際上會變更所有輸出至該副混音聲道的聲音音量。

    pSFXSubmixVoice->SetVolume(0.1);
    

語音

XAudio2 程式設計手冊

如何:建置基本音訊處理圖形