Partager via


Guide pratique pour modifier le volume vocal

Cette rubrique vous montre comment modifier le volume d’une voix à un niveau global, à chaque canal de sortie ou entre chaque canal d’une voix et une autre voix dans sa liste d’envoi.

Pour définir un niveau de volume global pour l’entrée de la voix

  • Utilisez la fonction SetVolume .

    pSourceVoice->SetVolume(1.0);
    

Pour définir le volume des canaux de sortie de la voix

  1. Créez un tableau de nombres à virgule flottante qui contiennent les volumes souhaités de tous les canaux de sortie dans la voix.

    Le tableau aura une entrée pour chaque canal dans la voix.

    float SourceVoiceChannelVolumes[1] = {1.0};
    
  2. Utilisez la fonction SetChannelVolumes pour définir le volume des canaux de sortie.

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

Pour définir le volume des connexions

Définissez le volume de connexion entre la voix et une voix dans sa sendlist.

  1. Créez un tableau de nombres à virgule flottante qui définit une matrice de sortie si la voix envoie à une autre voix.

    Notes

    Le tableau doit avoir un nombre d’entrées égal aux canaux vocaux sources × canaux vocaux de destination. Dans cet exemple, le mappage est d’une voix avec un canal à une voix avec deux canaux.

     

    float outputMatrix[2] = {1.0f,0.05f};
    
  2. Utilisez la fonction SetOutputMatrix pour définir la matrice de sortie.

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

Guide de programmation XAudio2

Procédure : créer un graphique de traitement audio de base

Contrôle de volume et de tangage XAudio2