Freigeben über


AUDIO_VOLUME_NOTIFICATION_DATA-Struktur (endpointvolume.h)

Die AUDIO_VOLUME_NOTIFICATION_DATA-Struktur beschreibt eine Änderung der Lautstärke oder des Stummschaltzustands eines Audioendpunktgeräts.

Syntax

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;

Member

guidEventContext

Kontextwert für die IAudioEndpointVolumeCallback::OnNotify-Methode . Dieser Member ist der Wert der Ereigniskontext-GUID, die als Eingabeparameter für den IAudioEndpointVolume-Methodenaufruf bereitgestellt wurde, der die Endpunktvolumeebene oder den Mutingzustand geändert hat. Weitere Informationen finden Sie in den Hinweisen.

bMuted

Gibt an, ob der Audiostream derzeit stummgeschaltet ist. Wenn bMutedTRUE ist, wird der Stream stummgeschaltet. Bei FALSE wird der Stream nicht stummgeschaltet.

fMasterVolume

Gibt den aktuellen master Lautstärkepegel des Audiostreams an. Die Volumeebene wird auf den Bereich von 0,0 bis 1,0 normalisiert, wobei 0,0 die minimale Lautstärke und 1,0 der maximale Pegel ist. Innerhalb dieses Bereichs wird die Beziehung des normalisierten Lautstärkepegels zur Dämpfung der Signalamplitude durch eine nichtlineare, audioverkippte Kurve beschrieben. Weitere Informationen zu Audio-Tapern finden Sie unter Lautstärkesteuerungen mit Audioverknippen.

nChannels

Gibt die Anzahl von Kanälen im Audiostream an. Dies ist auch die Anzahl der Elemente im Array afChannelVolumes . Wenn der Audiostream n Kanäle enthält, werden die Kanäle von 0 bis n-1 nummeriert. Die Volumeebene für einen bestimmten Kanal ist im Arrayelement enthalten, dessen Index mit der Kanalnummer übereinstimmt.

afChannelVolumes[1]

Das erste Element in einem Array von Kanalvolumes. Dieses Element enthält die aktuelle Lautstärkestufe von Kanal 0 im Audiostream. Wenn der Audiostream mehr als einen Kanal enthält, folgen die Lautstärkepegel für die zusätzlichen Kanäle sofort der AUDIO_VOLUME_NOTIFICATION_DATA Struktur. Die Lautstärkeebene für jeden Kanal wird auf den Bereich von 0,0 bis 1,0 normalisiert, wobei 0,0 die minimale Lautstärke und 1,0 die maximale Ebene ist. Innerhalb dieses Bereichs wird die Beziehung des normalisierten Lautstärkepegels zur Dämpfung der Signalamplitude durch eine nichtlineare, audioverkippte Kurve beschrieben.

Hinweise

Diese Struktur wird von der IAudioEndpointVolumeCallback::OnNotify-Methode verwendet.

Ein Client kann sich registrieren, um benachrichtigt zu werden, wenn sich die Volumeebene oder der Stummschaltzustand eines Endpunktgeräts ändert. Die folgenden Methoden können eine solche Änderung verursachen:

Wenn ein Aufruf einer dieser Methoden ein Volumeänderungsereignis verursacht (d. h. eine Änderung der Volumeebene oder des Stummschaltungszustands), sendet die Methode Benachrichtigungen an alle Clients, die sich für den Empfang registriert haben. Die -Methode benachrichtigt einen Client, indem die IAudioEndpointVolumeCallback::OnNotify-Methode des Clients aufgerufen wird. Durch den OnNotify-Aufruf erhält der Client einen Zeiger auf eine AUDIO_VOLUME_NOTIFICATION_DATA-Struktur , die die Änderung beschreibt.

Jede der Methoden in der vorherigen Liste akzeptiert einen Eingabeparameter namens pguidEventContext, bei dem es sich um einen Zeiger auf eine Ereigniskontext-GUID handelt. Vor dem Senden von Benachrichtigungen an Clients kopiert die Methode die Ereigniskontext-GUID, auf die pguidEventContext verweist, in das guidEventContext-Element der AUDIO_VOLUME_NOTIFICATION_DATA-Struktur , die sie über ihre OnNotify-Methoden an Clients bereitstellt. Wenn pguidEventContextNULL ist, wird der Wert des guidEventContext-Elements auf GUID_NULL festgelegt.

Bei der Implementierung der OnNotify-Methode kann ein Client die Ereigniskontext-GUID aus diesem Aufruf überprüfen, um zu ermitteln, ob er oder ein anderer Client die Quelle des Volumeänderungsereignisses ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Kopfzeile endpointvolume.h

Weitere Informationen

Kernaudiostrukturen

IAudioEndpointVolume-Schnittstelle

IAudioEndpointVolume::SetChannelVolumeLevel

IAudioEndpointVolume::SetChannelVolumeLevelScalar

IAudioEndpointVolume::SetMasterVolumeLevel

IAudioEndpointVolume::SetMasterVolumeLevelScalar

IAudioEndpointVolume::SetMute

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp

IAudioEndpointVolumeCallback-Schnittstelle

IAudioEndpointVolumeCallback::OnNotify