IXAudio2Voice::SetOutputMatrix メソッド

ボイスの最終出力の各チャンネルのボリューム レベルを設定します。これらのチャンネルは、指定されたデスティネーション ボイスの入力チャンネルにマップされます。

構文

HRESULT SetOutputMatrix(         IXAudio2Voice *pDestinationVoice,         UINT32 SourceChannels,         UINT32 DestinationChannels,         const float *pLevelMatrix,         UINT32 OperationSet = XAUDIO2_COMMIT_NOW)

パラメーター

  • pDestinationVoice
    [in] ボリューム レベルを設定するデスティネーション IXAudio2Voice へのポインターです。

    注意

    ボイスの送信先が単一のターゲット ボイスである場合は、NULL を指定すると、SetOutputMatrix はそのターゲット ボイスのみに適用されます。

  • SourceChannels
    [in] ボイスの出力チャンネル数を確認します。これは、チェーン内の最後のエフェクトによって生成されるチャンネルの数です。

  • DestinationChannels
    [in] デスティネーション ボイスの入力チャンネル数を確認します。

  • pLevelMatrix
    [in] デスティネーション ボイスに送信される [SourceChannels × DestinationChannels] ボリューム レベルの配列。ソース チャンネル S からデスティネーション チャンネル D に送信されるレベルは、pLevelMatrix[SourceChannels × D + S] の形式で指定されます。

    たとえば、2 チャンネル ステレオ入力を、加重が前方チャンネルにあって、中心および低周波数チャンネルにはない 5.1 出力にレンダリングすると、行列の値は次の表に示すようになります。

    出力 左入力 右入力
    [左] 1.0 0.0
    [右] 0.0 1.0
    前方中央 0.0 0.0
    LFE 0.0 0.0
    後方左 0.8 0.0
    後方右 0.0 0.8

    左と右の入力が、出力の左と右のチャンネルに完全にマップされています。左と右の入力の 80% が、後方の左と右のチャンネルにマップされています。

    ボリューム レベルの詳細については、「備考」を参照してください。

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

戻り値

正常に実行された場合は S_OK を返し、失敗した場合はエラー コードを返します。エラー コードの説明については、「XAudio2 エラー コード」を参照してください。

解説 

マスター ボイスは、マトリクス ミックスなしでデバイスに直接書き込むため、このメソッドは、ソース ボイスおよびサブミックス ボイスの場合にのみ有効です。

ボリューム レベルは、-XAUDIO2_MAX_VOLUME_LEVEL ~ XAUDIO2_MAX_VOLUME_LEVEL (-224 ~ 224) の浮動小数点振幅逓倍として表現され、最大ゲインは 144.5 dB です。ボリューム レベル 1.0 は減衰またはゲインがないことを意味し、0 は無音を意味します。負のレベルは、オーディオのフェーズを反転させるために使用できます。ボリューム コントロールの詳細については、「XAudio2 のボリュームおよびピッチ コントロール」を参照してください。

注意

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

要件

ヘッダー: xaudio2.h で宣言されています。

関連項目

IXAudio2Voice
方法 : ボイス ボリュームの変更