AUDIO_VOLUME_NOTIFICATION_DATA 構造体 (endpointvolume.h)

AUDIO_VOLUME_NOTIFICATION_DATA構造体では、オーディオ エンドポイント デバイスのボリューム レベルまたはミュート状態の変更について説明します。

構文

typedef struct AUDIO_VOLUME_NOTIFICATION_DATA {
  GUID  guidEventContext;
  BOOL  bMuted;
  float fMasterVolume;
  UINT  nChannels;
  float afChannelVolumes[1];
} AUDIO_VOLUME_NOTIFICATION_DATA, *PAUDIO_VOLUME_NOTIFICATION_DATA;

メンバー

guidEventContext

IAudioEndpointVolumeCallback::OnNotify メソッドのコンテキスト値。 このメンバーは、エンドポイント ボリューム レベルまたはミュート状態を変更した IAudioEndpointVolume メソッド呼び出しへの入力パラメーターとして指定されたイベント コンテキスト GUID の値です。 詳細については、「解説」を参照してください。

bMuted

オーディオ ストリームが現在ミュートされているかどうかを指定します。 bMutedTRUE の場合、ストリームはミュートされます。 FALSE の場合、ストリームはミュートされません。

fMasterVolume

オーディオ ストリームの現在のマスター ボリューム レベルを指定します。 ボリューム レベルは 0.0 から 1.0 の範囲に正規化されます。ここで、0.0 は最小ボリューム レベル、1.0 は最大レベルです。 この範囲内では、正規化されたボリューム レベルと信号振幅の減衰の関係は、非線形のオーディオテーパ曲線によって記述されます。 オーディオテーパの詳細については、「 Audio-Tapered Volume Controls」を参照してください。

nChannels

オーディオ ストリーム内のチャネルの数を指定します。これは afChannelVolumes 配列内の要素の数でもあります。 オーディオ ストリームに n 個のチャネルが含まれている場合、チャネルには 0 ~ n-1 の番号が付きます。 特定のチャネルのボリューム レベルは、インデックスがチャネル番号と一致する配列要素に含まれています。

afChannelVolumes[1]

チャネル ボリュームの配列内の最初の要素。 この要素には、オーディオ ストリーム内のチャネル 0 の現在のボリューム レベルが含まれています。 オーディオ ストリームに複数のチャネルが含まれている場合、追加チャネルのボリューム レベルは 、すぐにAUDIO_VOLUME_NOTIFICATION_DATA 構造に従います。 各チャネルのボリューム レベルは、0.0 から 1.0 の範囲に正規化されます。ここで、0.0 は最小ボリューム レベル、1.0 は最大レベルです。 この範囲内では、正規化されたボリューム レベルと信号振幅の減衰の関係は、非線形のオーディオテーパ曲線によって記述されます。

注釈

この構造体は、 IAudioEndpointVolumeCallback::OnNotify メソッドによって使用されます。

クライアントは、エンドポイント デバイスのボリューム レベルまたはミュート状態が変更されたときに通知を受け取るために登録できます。 このような変更は、次の方法で発生する可能性があります。

これらのメソッドの 1 つを呼び出すと、ボリューム変更イベント (つまり、ボリューム レベルまたはミュート状態の変更) が発生すると、メソッドは、それらを受信するために登録されているすべてのクライアントに通知を送信します。 メソッドは、クライアントの IAudioEndpointVolumeCallback::OnNotify メソッドを呼び出してクライアントに通知します。 OnNotify 呼び出しを通じて、クライアントは変更を説明するAUDIO_VOLUME_NOTIFICATION_DATA構造体へのポインターを受け取ります。

上記の一覧の各メソッドは、イベント コンテキスト GUID へのポインターである pguidEventContext という名前の入力パラメーターを受け入れます。 クライアントに通知を送信する前に、メソッドは、pguidEventContext が指すイベント コンテキスト GUID を、OnNotify メソッドを介してクライアントに提供するAUDIO_VOLUME_NOTIFICATION_DATA構造体の guidEventContext メンバーにコピーします。 pguidEventContextNULL の場合、guidEventContext メンバーの値は GUID_NULL に設定されます。

OnNotify メソッドの実装では、クライアントはその呼び出しからイベント コンテキスト GUID を検査して、その呼び出しまたは別のクライアントがボリューム変更イベントのソースであるかどうかを検出できます。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
Header endpointvolume.h

こちらもご覧ください

コア オーディオ構造

IAudioEndpointVolume インターフェイス

IAudioEndpointVolume::SetChannelVolumeLevel

IAudioEndpointVolume::SetChannelVolumeLevelScalar

IAudioEndpointVolume::SetMasterVolumeLevel

IAudioEndpointVolume::SetMasterVolumeLevelScalar

IAudioEndpointVolume::SetMute

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp

IAudioEndpointVolumeCallback インターフェイス

IAudioEndpointVolumeCallback::OnNotify