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 |