次の方法で共有


IXAudio2Voice::SetOutputMatrix メソッド (xaudio2.h)

音声の最終出力の各チャネルの音量レベルを設定します。 これらのチャネルは、指定された宛先音声の入力チャネルにマップされます。

構文

\\HRESULT SetOutputMatrix(
  [in] IXAudio2Voice *pDestinationVoice,
  [in] UINT32        SourceChannels,
  [in] UINT32        DestinationChannels,
  [in] const float   *pLevelMatrix,
  [in] UINT32        OperationSet
);

パラメーター

[in] pDestinationVoice

ボリューム レベルを設定する宛先 IXAudio2Voice へのポインター。

メモ 音声が 1 つのターゲット音声に送信される場合、NULL を指定すると 、SetOutputMatrix がそのターゲット音声に対して動作します。
 

[in] SourceChannels

音声の出力チャネル数を確認します。 これは、チェーン内の最後の効果によって生成されるチャネルの数です。

[in] DestinationChannels

宛先音声の入力チャネル数を確認します。

[in] pLevelMatrix

宛先音声に送信される [SourceChannels × DestinationChannels] ボリューム レベルの配列。 ソース チャネル S から宛先チャネル D に送信されるレベルは、 pLevelMatrix[SourceChannels × D + S] という形式で指定されます。

たとえば、2 チャンネルのステレオ入力を 5.1 出力にレンダリングし、フロント チャネルに向かって重み付けするが、中心チャネルと低周波数チャネルを使用しない場合、マトリックスには次の表に示す値が含まれる場合があります。

出力 左入力 [配列インデックス] 右入力 [配列インデックス]
Left 1.0 [0] 0.0 [1]
Right 0.0 [2] 1.0 [3]
フロント センター 0.0 [4] 0.0 [5]
Lfe 0.0 [6] 0.0 [7]
背面左 0.8 [8] 0.0 [9]
右後ろ 0.0 [10] 0.8 [11]
 
メモ 左右の入力は、出力の左右のチャネルに完全にマップされます。左右の入力の 80% が、左右のチャネルの背面にマップされます。
 
ボリューム レベルの詳細については、「解説」を参照してください。

[in] OperationSet

この呼び出しを遅延バッチの一部として識別します。 詳細については、「 XAudio2 操作セット の概要」を参照してください。

戻り値

成功した場合はS_OKを返し、それ以外の場合はエラー コードを返します。 エラー コードの説明については、「 XAudio2 エラー コード 」を参照してください。

解説

このメソッドは、ソースとサブミックスの音声に対してのみ有効です。これは、マスタリング音声がマトリックス 混合なしでデバイスに直接書き込まれるためです。

ボリューム レベルは、-XAUDIO2_MAX_VOLUME_LEVEL と XAUDIO2_MAX_VOLUME_LEVEL (-2²⁴ ~ 2²⁴) の間の浮動小数点振幅乗数で表され、最大ゲインは 144.5 dB です。 ボリューム レベルが 1.0 の場合は、減衰またはゲインがないことを意味し、0 は無音を意味します。 負のレベルを使用して、オーディオの位相を反転できます。 ボリュームコントロールの詳細については、「 XAudio2 Volume and Pitch Control 」を参照してください。

X3DAudio 関数 X3DAudioCalculate は、サウンドの位置とリスナーの位置に基づいて、SetOutputMatrix で使用する出力マトリックスを生成できます。

IXAudio2Voice::GetOutputMatrix はIXAudio2Voice::SetOutputMatrix によって最後に設定されたレベルを常に返します。 ただし、実際には有効ではない可能性があります。IXAudio2Voice::SetOutputMatrix 呼び出しの後 (または IXAudio2Voice::SetOutputMatrix が遅延操作 ID で呼び出された場合は、対応する IXAudio2::CommitChanges 呼び出しの後) にオーディオ エンジンが次回実行されたときにのみ有効になります。
 

プラットフォームの要件

Windows 10 (XAudio2.9);Windows 8、Windows Phone 8 (XAudio 2.8);DirectX SDK (XAudio 2.7)

要件

   
対象プラットフォーム Windows
ヘッダー xaudio2.h

関連項目

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

IXAudio2Voice