Condividi tramite


Procedura: Usare voci di missaggio secondario

Questo argomento illustra come impostare gruppi di voci per inviare il loro output alla stessa voce submix. Ciò consente una singola modifica a una voce submix per influire su un intero gruppo di voci.

  1. Creare una voce submix a cui verranno inviate tutte le voci dell'effetto audio del gioco.

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

    XAUDIO2_SEND_DESCRIPTOR SFXSend = {0, pSFXSubmixVoice};
    XAUDIO2_VOICE_SENDS SFXSendList = {1, &SFXSend};
    
  3. Passare la struttura XAUDIO2_VOICE_SENDS a nuove voci di origine durante la creazione.

    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 degli effetti audio modificando la voce submix.

    In questo esempio, la modifica del volume della voce submix con la funzione SetVolume modifica in modo efficace il volume di tutte le voci che generano l'output.

    pSFXSubmixVoice->SetVolume(0.1);
    

Voci

Guida alla programmazione di XAudio2

Procedura: Creare un grafico di elaborazione audio di base