Share via


ISimpleAudioVolume 介面 (audioclient.h)

ISimpleAudioVolume 介面可讓用戶端控制音訊會話的主要音量層級。 IAudioClient::Initialize 方法會初始化數據流物件,並將數據流指派給音訊會話。 用戶端會呼叫 IAudioClient::GetService 方法,並將參數 riid 設定為 REFIID IID_ISimpleAudioVolume,以取得數據流物件上 ISimpleAudioVolume 介面的參考。

或者,用戶端可以取得現有會話的 ISimpleAudioVolume 介面,而不需要先建立數據流物件,並將數據流新增至會話。 相反地,用戶端會使用會話 GUID 呼叫 IAudioSessionManager::GetSimpleAudioVolume 方法。

會話子混音中任何通道的有效音量層級,如說話者所聽見,是下列四個音量層級因素的乘積:

  • 會話中數據流的個別通道磁碟區層級,用戶端可以透過 IAudioStreamVolume 介面中的方法來控制。
  • 會話的主要磁碟區層級,用戶端可以透過 ISimpleAudioVolume 介面中的方法來控制。
  • 會話的每個通道磁碟區層級,用戶端可以透過 IChannelAudioVolume 介面中的方法來控制。
  • 會話的原則型磁碟區層級,系統會在全域混合變更時動態指派給會話。
上述清單中四個磁碟區層級因素中的每一個都是範圍 0.0 到 1.0 的值,其中 0.0 表示無聲,1.0 表示完整音量 (沒有衰減) 。 有效磁碟區層級也是範圍0.0到1.0的值。

一般音訊應用程式不會修改會話的音量層級。 相反地,他們依賴使用者透過 Sndvol 程式來設定這些磁碟區層級。 Sndvol 只會修改會話的主要磁碟區層級。 根據預設,會話管理員會在會話的初始啟用時,將主要磁碟區層級設定為1.0。 Sndvol 或其他用戶端的後續磁碟區變更會在電腦重新啟動時持續發生。

釋放 ISimpleAudioVolume 介面實例時,客戶端必須從與呼叫建立物件的 IAudioClient::GetService 相同的線程呼叫介面的 Release 方法。

ISimpleAudioVolume 介面可控制音訊會話的音量。 音訊會話是共用模式數據流的集合。 此介面不適用於獨佔模式數據流。 如需獨佔模式數據流之磁碟區控件的相關信息,請參閱 EndpointVolume API

繼承

ISimpleAudioVolume 介面繼承自 IUnknown 介面。 ISimpleAudioVolume 也有下列類型的成員:

方法

ISimpleAudioVolume 介面具有這些方法。

 
ISimpleAudioVolume::GetMasterVolume

GetMasterVolume 方法會擷取音訊會話的用戶端音量層級。
ISimpleAudioVolume::GetMute

GetMute 方法會擷取音訊會話目前的靜音狀態。
ISimpleAudioVolume::SetMasterVolume

SetMasterVolume 方法會設定音訊會話的主要音量層級。
ISimpleAudioVolume::SetMute

SetMute 方法會設定音訊會話的靜音狀態。

規格需求

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

另請參閱

核心音訊介面

IAudioClient::GetService

IAudioClient::Initialize

IAudioStreamVolume 介面

IChannelAudioVolume 介面

WASAPI