Практическое руководство. Изменение громкости голосовой связи

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

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

  • Используйте функцию 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