共用方式為


IAudioEndpointVolume::SetChannelVolumeLevelScalar 方法 (endpointvolume.h)

SetChannelVolumeLevelScalar 方法會在進入或離開音訊端點裝置的音訊數據流中,設定指定通道的正規化音頻磁帶音量層級。

語法

HRESULT SetChannelVolumeLevelScalar(
  [in] UINT    nChannel,
  [in] float   fLevel,
  [in] LPCGUID pguidEventContext
);

參數

[in] nChannel

通道號碼。 如果音訊數據流包含 n 個通道,則通道編號為 0 到 n– 1。 若要取得通道數目,請呼叫 IAudioEndpointVolume::GetChannelCount 方法。

[in] fLevel

磁碟區層級。 磁碟區層級是以 0.0 到 1.0 範圍內的標準化值表示。

[in] pguidEventContext

IAudioEndpointVolumeCallback::OnNotify 方法的內容值。 此參數指向事件內容 GUID。 如果 SetChannelVolumeLevelScalar 呼叫變更端點的磁碟區層級,則所有已註冊 IAudioEndpointVolumeCallback 介面的用戶端都會收到通知。 在 OnNotify 方法的實作中,用戶端可以檢查事件內容 GUID,以探索它或另一個用戶端是否為磁碟區變更事件的來源。 如果呼叫端提供此參數的 NULL 指標,通知例程會收到內容 GUID 值GUID_NULL。

傳回值

如果方法成功,它會傳回 S_OK。 如果方法失敗,可能的傳回碼包括但不限於下表所示的值。

傳回碼 Description
E_INVALIDARG
參數 nChannel 大於或等於數據流中的通道數目;或參數 fLevel 超出 0.0 到 1.0 的範圍。
E_OUTOFMEMORY
記憶體不足。

備註

磁碟區層級會正規化為0.0到1.0的範圍,其中0.0是最小磁碟區層級,而1.0是最高層級。 在此範圍內,正規化音量層級與訊號幅度衰減的關聯性是由非線性的音訊磁帶曲線所描述。 請注意,曲線的形狀可能會在未來的 Windows 版本中變更。 如需音訊磁帶曲線的詳細資訊,請參閱 音訊磁帶音量控件

傳遞給此方法的標準化磁碟區層級適合用來代表應用程式視窗和螢幕上顯示器中的音量控制元件位置。

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 endpointvolume.h

另請參閱

IAudioEndpointVolume 介面

IAudioEndpointVolume::GetChannelCount

IAudioEndpointVolumeCallback 介面

IAudioEndpointVolumeCallback::OnNotify