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
オーディオ ストリームが現在ミュートされているかどうかを指定します。 bMuted が TRUE の場合、ストリームはミュートされます。 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 メソッドによって使用されます。
クライアントは、エンドポイント デバイスのボリューム レベルまたはミュート状態が変更されたときに通知を受け取るために登録できます。 このような変更は、次の方法で発生する可能性があります。
- IAudioEndpointVolume::SetChannelVolumeLevel
- IAudioEndpointVolume::SetChannelVolumeLevelScalar
- IAudioEndpointVolume::SetMasterVolumeLevel
- IAudioEndpointVolume::SetMasterVolumeLevelScalar
- IAudioEndpointVolume::SetMute
- IAudioEndpointVolume::VolumeStepDown
- IAudioEndpointVolume::VolumeStepUp
上記の一覧の各メソッドは、イベント コンテキスト GUID へのポインターである pguidEventContext という名前の入力パラメーターを受け入れます。 クライアントに通知を送信する前に、メソッドは、pguidEventContext が指すイベント コンテキスト GUID を、OnNotify メソッドを介してクライアントに提供するAUDIO_VOLUME_NOTIFICATION_DATA構造体の guidEventContext メンバーにコピーします。 pguidEventContext が NULL の場合、guidEventContext メンバーの値は GUID_NULL に設定されます。
OnNotify メソッドの実装では、クライアントはその呼び出しからイベント コンテキスト GUID を検査して、その呼び出しまたは別のクライアントがボリューム変更イベントのソースであるかどうかを検出できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
Header | endpointvolume.h |
こちらもご覧ください
IAudioEndpointVolume::SetChannelVolumeLevel
IAudioEndpointVolume::SetChannelVolumeLevelScalar
IAudioEndpointVolume::SetMasterVolumeLevel
IAudioEndpointVolume::SetMasterVolumeLevelScalar
IAudioEndpointVolume::VolumeStepDown
IAudioEndpointVolume::VolumeStepUp