Condividi tramite


Come usare le voci submix

In questo argomento viene illustrato come impostare gruppi di voci per inviare l'output alla stessa voce submix. In questo modo, una singola modifica a una voce di submix influisce su un intero gruppo di voci.

  1. Crea una voce submix a cui saranno inviate tutte le voci degli effetti sonori del gioco.

    IXAudio2SubmixVoice * pSFXSubmixVoice;
    pXAudio2->CreateSubmixVoice(&pSFXSubmixVoice,1,44100,0,0,0,0);
    
  2. Creare una struttura XAUDIO2_VOICE_SENDS che contiene un riferimento alla voce submix.

    XAUDIO2_SEND_DESCRIPTOR SFXSend = {0, pSFXSubmixVoice};
    XAUDIO2_VOICE_SENDS SFXSendList = {1, &SFXSend};
    
  3. Passare la struttura XAUDIO2_VOICE_SENDS alle nuove voci sorgente man mano che vengono create.

    IXAudio2SourceVoice* pSFXSourceVoice;
    if( FAILED(hr = pXaudio2->CreateSourceVoice( &pSFXSourceVoice, (WAVEFORMATEX*)&wfx,
        0, XAUDIO2_DEFAULT_FREQ_RATIO, pCallback, pSFXSendList, NULL ) ) )
        return hr;
    
  4. Applicare le modifiche a tutte le voci dell'effetto audio regolando la voce submix.

    In questo esempio, modificare il volume del submix con la funzione SetVolume modifica effettivamente il volume di tutte le voci che vi vengono indirizzate.

    pSFXSubmixVoice->SetVolume(0.1);
    

voci

guida alla programmazione XAudio2

Procedura: Creare un grafico di elaborazione audio di base