Поделиться через


Как изменить громкость голоса

В этом разделе показано, как изменить громкость голоса на общем звуковом уровне, на каждом выходном канале или между каждым каналом голоса и другим голосом в списке маршрутизации .

Для установки общего уровня громкости для входных данных голоса

  • Используйте функцию SetVolume.

    pSourceVoice->SetVolume(1.0);
    

Настройка объема выходных каналов голосовой связи

  1. Создайте массив чисел с плавающей запятой, содержащий нужную громкость всех выходных каналов в голосовом сигнале.

    Массив будет иметь одну запись для каждого канала в голосовой связи.

    float SourceVoiceChannelVolumes[1] = {1.0};
    
  2. Используйте функцию SetChannelVolumes, чтобы установить уровень громкости выходных каналов.

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

Установка громкости подключений

Установите уровень громкости между голосом и другим голосом в списке отправки .

  1. Создайте массив чисел с плавающей запятой, который определяет выходную матрицу, если голос передается другому голосу.

    Заметка

    Массив должен иметь ряд записей, равных исходным каналам голосовой связи, × целевым каналам голосовой связи. В этом примере сопоставление осуществляется между голосом с одним каналом и голосом с двумя каналами.

     

    float outputMatrix[2] = {1.0f,0.05f};
    
  2. Используйте функцию SetOutputMatrix, чтобы задать выходную матрицу.

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

Руководство по программированию XAudio2

Как создать базовый граф обработки аудио

Контроль громкости и высоты тона в XAudio2