IXAudio2Voice::SetChannelVolume
チャンネルごとのボイスのボリューム レベルを設定します。
HRESULT
SetChannelVolume(
UINT32 Channels,
const float *pVolumes,
UINT32 OperationSet = XAUDIO2_COMMIT_NOW
);
パラメータ
- Channels
ボイス内のチャンネル数です。 - pVolumes
ボイス内の各チャンネルの新しいボリュームが含まれる配列です。この配列には、Channels 要素が必要です。ボリューム レベルの詳細については、「備考」を参照してください。 - OperationSet
この呼び出しを遅延バッチの一部として指定します。詳細については、「XAudio2 操作セット」の概要を参照してください。
戻り値
正常に実行された場合は S_OK を返し、失敗した場合はエラー コードを返します。XAudio2 固有のエラー コードの説明については、「XAudio2 エラー コード」を参照してください。
解説
これらの設定は、エフェクト チェーンの適用後に反映されます。マスター ボイスでは、チャンネルごとにボリュームを指定しないため、このメソッドは、ソース ボイスおよびサブミックス ボイスに対してのみ有効です。
ボリューム レベルは、-224 ~ 224 の浮動小数点振幅逓倍として表現され、最大ゲインは 144.5 dB です。ボリューム 1 は減衰またはゲインがないことを意味し、0 は無音を意味します。負のレベルは、オーディオのフェーズを反転させるために使用できます。ボリューム コントロールの詳細については、「XAudio2 のボリュームおよびピッチ コントロール」を参照してください。
注 IXAudio2Voice::SetChannelVolume の呼び出しによってチャンネル ボリュームを変更した直後に IXAudio2Voice::GetChannelVolumes を呼び出すと、新しい値が返されますが、次にオーディオ エンジンを実行するまで変更が反映されない場合があります。これは、パラメーターが非同期的に設定されるためです。
要件
ヘッダー: Xaudio2.h 宣言