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

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

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

  • セッション内のストリームのチャネルごとのボリューム レベル。クライアントは IAudioStreamVolume インターフェイスのメソッドを使用して制御できます。
  • セッションのチャネルごとのボリューム レベル。クライアントは IChannelAudioVolume インターフェイスのメソッドを介して制御できます。
  • クライアントが ISimpleAudioVolume インターフェイスのメソッドを使用して制御できるセッションのマスター ボリューム レベル。
  • グローバル ミックスの変化に応じてシステムがセッションに動的に割り当てる、セッションのポリシー ベースのボリューム レベル。
前のリストの 4 つのボリューム レベルの要因はそれぞれ 0.0 ~ 1.0 の範囲の値です。0.0 は無音を示し、1.0 は完全ボリューム (減衰なし) を示します。 有効ボリューム レベルは、0.0 から 1.0 の範囲の値でもあります。

IAudioStreamVolume インターフェイス インスタンスを解放する場合、クライアントは、オブジェクトを作成した IAudioClient::GetService の呼び出しと同じスレッドからインターフェイスの Release メソッドを呼び出す必要があります。

IAudioStreamVolume インターフェイスは、共有モードのオーディオ ストリーム内のチャネル ボリュームを制御します。 このインターフェイスは、排他モード ストリームでは機能しません。 排他モード ストリームのボリューム 制御の詳細については、「 EndpointVolume API」を参照してください。

継承

IAudioStreamVolume インターフェイスは、IUnknown インターフェイスから継承されます。 IAudioStreamVolume には、次の種類のメンバーもあります。

メソッド

IAudioStreamVolume インターフェイスには、これらのメソッドがあります。

 
IAudioStreamVolume::GetAllVolumes

GetAllVolumes メソッドは、オーディオ ストリーム内のすべてのチャネルのボリューム レベルを取得します。
IAudioStreamVolume::GetChannelCount

GetChannelCount メソッドは、オーディオ ストリーム内のチャネルの数を取得します。
IAudioStreamVolume::GetChannelVolume

GetChannelVolume メソッドは、オーディオ ストリーム内の指定されたチャネルのボリューム レベルを取得します。
IAudioStreamVolume::SetAllVolumes

SetAllVolumes メソッドは、オーディオ ストリーム内のすべてのチャネルの個々のボリューム レベルを設定します。
IAudioStreamVolume::SetChannelVolume

SetChannelVolume メソッドは、オーディオ ストリーム内の指定されたチャネルのボリューム レベルを設定します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー audioclient.h

こちらもご覧ください

コア オーディオ インターフェイス

IAudioClient::GetService

IChannelAudioVolume インターフェイス

ISimpleAudioVolume インターフェイス

WASAPI