共用方式為


IChannelAudioVolume::SetChannelVolume 方法 (audioclient.h)

SetChannelVolume 方法會設定音訊會話中指定通道的音量層級。

語法

HRESULT SetChannelVolume(
  [in] UINT32      dwIndex,
  [in] const float fLevel,
  [in] LPCGUID     EventContext
);

參數

[in] dwIndex

通道號碼。 如果音訊會話的數據流格式有 N 個通道,則通道編號為 0 到 N– 1。 若要取得通道數目,請呼叫 IChannelAudioVolume::GetChannelCount 方法。

[in] fLevel

通道的磁碟區層級。 有效的磁碟區層級範圍介於 0.0 到 1.0。

[in] EventContext

事件內容 GUID 的指標。 如果呼叫這個方法會產生通道磁碟區變更事件,會話管理員會將通知傳送給所有已註冊 IAudioSessionEvents 介面的用戶端與會話管理員。 會話管理員會在每個通知中包含 EventContext 指標值。 收到通知時,用戶端可以藉由檢查 EventContext 值來判斷它或另一個用戶端是否為事件的來源。 此配置取決於客戶端選取這個參數的值,這個參數在會話中的所有客戶端之間是唯一的。 如果呼叫端提供此參數的 NULL 指標,則用戶端的通知方法會收到 NULL 內容指標。

傳回值

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

傳回碼 Description
E_INVALIDARG
參數 dwIndex 設定為無效的通道號碼,或 參數 fLevel 不在 0.0 到 1.0 的範圍內。
AUDCLNT_E_DEVICE_INVALIDATED
音訊端點裝置已解除叢集,或音訊硬體或相關聯的硬體資源已重新設定、停用、移除,否則無法使用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音訊服務未執行。

備註

如果成功,這個方法會產生通道磁碟區變更事件,而不論新的通道磁碟區層級與先前通道磁碟區層級的值是否不同。

規格需求

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

另請參閱

IAudioSessionEvents 介面

IChannelAudioVolume 介面

IChannelAudioVolume::GetChannelCount