方法: 音声ボリュームを変更する

このトピックでは、全体的なレベル、各出力チャネル、または音声の各チャネルとその 送信リスト内の別の音声の間で音声の音量を変更する方法について説明します。

音声の入力の全体的な音量レベルを設定するには

  • SetVolume 関数を使用します。

    pSourceVoice->SetVolume(1.0);
    

音声の出力チャネルの音量を設定するには

  1. 音声内のすべての出力チャネルの目的のボリュームを含む浮動小数点数の配列を作成します。

    配列には、音声のチャネルごとに 1 つのエントリがあります。

    float SourceVoiceChannelVolumes[1] = {1.0};
    
  2. SetChannelVolumes 関数を使用して、出力チャネルのボリュームを設定します。

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

接続のボリュームを設定するには

ボイスとボイスの間の接続ボリュームを 、その sendlist で設定します。

  1. 音声が別の音声に送信される場合に出力マトリックスを定義する浮動小数点数の配列を作成します。

    注意

    配列には、宛先音声チャネル×ソース音声チャネルと等しいエントリの数が必要です。 この例では、マッピングは、1 つのチャネルを持つ音声から 2 つのチャネルを持つ音声にマッピングされます。

     

    float outputMatrix[2] = {1.0f,0.05f};
    
  2. 出力マトリックスを設定するには、 SetOutputMatrix 関数を使用します。

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

XAudio2 プログラミング ガイド

方法: 基本的なオーディオ処理グラフの作成

XAudio2 音量とピッチコントロール