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

音声の音量レベルをチャネルごとに設定します。

構文

\\HRESULT SetChannelVolumes(
  [in] UINT32      Channels,
  [in] const float *pVolumes,
  [in] UINT32      OperationSet
);

パラメーター

[in] Channels

音声内のチャネルの数。

[in] pVolumes

音声の各チャネルの新しいボリュームを含む配列。 配列には Channels 要素が必要です。 ボリューム レベルの詳細については、「解説」を参照してください。

[in] OperationSet

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

戻り値

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

注釈

SetChannelVolumes は、音声のチャネルごとの出力レベルを制御し、音声の最終的な SRC の直後とその送信前に適用されます。

このメソッドは、ソースボイスとサブミックスボイスに対してのみ有効です。マスタリングボイスはチャンネルごとにボリュームを指定しないためです。

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

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

プラットフォームの要件

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

要件

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

こちらもご覧ください

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

IXAudio2Voice