Share via


IChannelAudioVolume 介面 (audioclient.h)

IChannelAudioVolume 介面可讓用戶端控制及監視數據流所屬音訊會話中所有通道的音量層級。 這是用戶端在呼叫 IAudioClient::Initialize 方法期間將數據流指派給 的會話。 用戶端會呼叫 IAudioClient::GetService 方法,並將參數 riid 設定為 REFIID IID_IChannelAudioVolume,以取得數據流物件上 IChannelAudioVolume 介面的參考。

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

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

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

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

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

繼承

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

方法

IChannelAudioVolume 介面具有這些方法。

 
IChannelAudioVolume::GetAllVolumes

GetAllVolumes 方法會擷取音訊會話中所有通道的音量層級。
IChannelAudioVolume::GetChannelCount

GetChannelCount 方法會擷取音訊會話數據流格式的通道數目。
IChannelAudioVolume::GetChannelVolume

GetChannelVolume 方法會擷取音訊會話中指定通道的音量層級。
IChannelAudioVolume::SetAllVolumes

SetAllVolumes 方法會設定音訊會話中所有通道的個別音量層級。
IChannelAudioVolume::SetChannelVolume

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

規格需求

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

另請參閱

核心音訊介面

IAudioClient::GetService

IAudioClient::Initialize

IAudioStreamVolume 介面

ISimpleAudioVolume 介面

WASAPI