Condividi tramite


Procedura: Modificare il volume vocale

In questo argomento viene illustrato come modificare il volume di una voce a un livello complessivo, a ogni canale di output o tra ogni canale di una voce e un'altra voce nella relativa sendlist.

Per impostare un livello di volume complessivo per l'input della voce

  • Usa la funzione SetVolume.

    pSourceVoice->SetVolume(1.0);
    

Per impostare il volume dei canali di output della voce

  1. Creare una matrice di numeri a virgola mobile che contengono i volumi desiderati di tutti i canali di output nella voce.

    La matrice avrà un elemento per ogni canale nell'audio.

    float SourceVoiceChannelVolumes[1] = {1.0};
    
  2. Usare la funzione SetChannelVolumes per impostare il volume dei canali di output.

    hr = pSourceVoice->SetChannelVolumes(1,SourceVoiceChannelVolumes);
    

Per impostare il volume di connessioni

Imposta il volume di connessione tra voce e una voce audio nella lista di invio .

  1. Creare un array di numeri a virgola mobile per definire una matrice di output nel caso in cui la voce venga inviata a un'altra voce.

    Nota

    La matrice deve avere un numero di elementi pari al numero di canali vocali di origine moltiplicato per i canali vocali di destinazione. In questo esempio, la mappatura passa da una voce con un canale a una voce con due canali.

     

    float outputMatrix[2] = {1.0f,0.05f};
    
  2. Usare la funzionesetOutputMatrixper impostare la matrice di output.

    pSourceVoice->SetOutputMatrix(pSubmixVoice,1,2,outputMatrix);
    

guida alla programmazione XAudio2

Procedura: Creare un grafico di elaborazione audio di base

controllo del volume e dell'intonazione XAudio2