IChannelAudioVolume インターフェイス (audioclient.h)

IChannelAudioVolume インターフェイスを使用すると、クライアントは、ストリームが属するオーディオ セッション内のすべてのチャネルのボリューム レベルを制御および監視できます。 これは、 クライアントが IAudioClient::Initialize メソッドの呼び出し中にストリームを割り当てたセッションです。 クライアントは、パラメーター riid が REFIID IID_IChannelAudioVolumeに設定された IAudioClient::GetService メソッドを呼び出すことによって、ストリーム オブジェクト上の IChannelAudioVolume インターフェイスへの参照を取得します。

セッション サブミックス内のチャネルの有効ボリューム レベルは、スピーカーで聞いたとおり、次の 4 つのボリューム レベル要因の積です。

  • クライアントが IAudioStreamVolume インターフェイスのメソッドを使用して制御できる、セッション内のストリームのチャネルごとのボリューム レベル。
  • クライアントが IChannelAudioVolume インターフェイス内のメソッドを介して制御できるセッションのチャネルごとのボリューム レベル。
  • クライアントが ISimpleAudioVolume インターフェイスのメソッドを使用して制御できるセッションのマスター ボリューム レベル。
  • グローバル ミックスの変更に応じてシステムによってセッションに動的に割り当てられる、セッションのポリシー ベースのボリューム レベル。
前の一覧の 4 つのボリューム レベルの各要因は、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