共用方式為


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 音量和音調控制

注意IXAudio2Voice::GetChannelVolumes 一律會傳回 最近由 IXAudio2Voice::SetChannelVolumes 設定的磁碟區層級。 不過,這些值實際上可能尚未生效:只有在 IXAudio2Voice::SetChannelVolumes 呼叫 IXAudio2Voice::SetChannelVolumes 呼叫 (之後,或是在對應的 IXAudio2::CommitChanges 呼叫之後生效,如果 IXAudio2Voice::SetChannelVolumes 是以延遲的作業標識符呼叫) 。
 

平臺需求

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

規格需求

需求
目標平台 Windows
標頭 xaudio2.h

另請參閱

如何:變更語音音量

IXAudio2Voice